Merhabalar ,

Bu yazımızda Oracle da Exception ları hataları yakalama işlemlerini nasıl yapıldığından bahsedeceğim.

Oracle da hatalar için şunu söyleyebiliriz , Önceden tanımlanmış (Predefined)ve tanımlanmamış (Non Predefined) hatalar mevcuttur , yani bazı hatalar tanımlı isimleri varken bazıları için sadece kodları bulunmaktadır , yani her hata için özel isimlendirme bulunmamaktadır .

Exception Handling : Nesne yönelimli programlama dillerinde istisnai bir durumu, beklenmedik bir olayı algılayıp buna karşı bir kod parçasının çalışmasıdır.

Önceden Tanımlanmış (Predefined) hatalar : 

TOO_MANY_ROWS = birden fazla satır döndüğünde dönecek hata gibi.

Bir örnekle bu hatayı alıp , bu hata olduğunda istediğimiz mesajı yazdıralım.

Bu örnekte John adına sahip kişinin adını yazdıracaktık fakat birden fazla kişinin adı john olduğunda , EXCEPTION hata bloguna girdi kodumuz orada da CASE WHEN yapısı ile eğer birden fazla satır hatası ise istediğimiz mesajı yazdırdık.

Başka bir örnek daha yapalım , tanımlanmış hatalardan bir başkası da ZERO DIVIDE Exception ı tanımlanmış yani sıfıra bölme hatası.

screenshot_16

Aynı şekilde diğer tanımlı Hatalar için exceptions handling yapılarak istediğimiz mesajı veya işlemleri yaptırabiliriz. diğer tanımlı hata mesajları listesi: Oracle Tanımlanmış Hata Listesi

screenshot_17

Önceden Tanımlanmamış (Non Predefined) hatalar : 

Bu hatalar tanımlanmış hatalar dışında kalan hatalardaır ve binlerce bu şekilde hata nulunur ve hata kodları listedinde mevcuttur , tanımlanmamış hataları exception handling yapma ihtiyacımız doğduğunda , yani bu hatalardan biri meydana geldiğinde kodumuz istediğimiz işlemlerini yapması için , hata kadunu kendimiz tanımlayacağız ve daha sonra EXCEPTION kısmında Önceden tanımlanmış hata kodları gibi kullanacağız. Örnek üzerinde açıklayayım :

-1400 hatası : Cannot insert NULL hatasıdırı , Null değer insert edilemez demektir. peki bu hata meydana geldiğinde istediğimiz bir mesajı ekrana yazdırmak için bu hata kodunu kendi verdiğimiz isimde bir EXCEPTION tanımlayıp daha sonrada kullanacağız.

Tanımlayacağımız Hata adına INSERT_EXCEP olarak tanımlayacağım. PRAGMA EXCEPTION_INIT kodu ile de -1400 kodunu bu hatayı işaret ettiğimi belirteceğim.

Örn:

Şeklinde kullanabiliriz ,

Bu yazımda anlatacaklarım bu kadar , umarım faydalı olmuştur , İyi Çalışmalar. 🙂 — Salih ŞEKER

Print Friendly, PDF & Email
Bu alana reklam verebilirsiniz!