• Hata mı? Benim kodumda hata olmaz!
• Hayır, bunlar senin yaptığın hatalar değil.
• Oracle mı yapmış hatayı?
• Hayır, o da yapmamış.
• Kim yapmış peki?
• Kullanıcı 🙂

Merhaba Sevgili Meslektaşım,

Tabii ki kullanıcı da hata yapabilir, geliştiriciler de. Fakat konumuz şu, programımız çalışırken bir hata oluştuğunda sebebini anlayabilir miyiz? Evet, PL/SQL bloklarımızda istisnalar yazarak bunu yapabiliriz. En çok karşılaşılan istisnaları PDF olarak hazırladım. Bir süre gözünün önünde tutarsan faydalı olacağını göreceksin. Sadece isimleri ve hata kodları var. Detaylarını araştırmak için kocaman bir Internet 🙂

İstisnaların detayları yoksa bu yazı ne için? Sana istisnaların önemini hatırlatmak, birkaç tane en çok kullanılanı yazmak ve işte bu PDF dosyasını sana ulaştırmak için. 😉

Başlıyoruz!

NO_DATA_FOUND en çok kullanacağın istisna olabilir. “Aradığınız kayda şu anda ulaşılamıyor. Lütfen daha sonra tekrar deneyiniz.” Bakma sen tekrar dene dediğime. Yeni kayıt eklenmediyse ne kadar denersen dene aynı istisna ile karşılaşacaksın.

TOO_MANY_ROWS da bir satır okumaya çalışırken bir ordu kaydın seni bulması durumunda işine yarayacaktır.

Sonraaa! En sevdiğim: DUP_VAL_ON_INDEX
Önce kısıtlar ( constraints 😉 ) eklersin tabloya, sonra bu kısıtlara uygun olmayan kayıtlar eklemeye çalışırsın. Olmaz! Yapmamalısın! Yaptıysan bu istisna ile yakalamalısın.

ZERO_DIVIDE! Zorro gibi gelmiştir bana hep, elinde kılıcıyla sıfıra karşı savaş açmış bir kahraman! Bu da sıfıra bölmeye çalışıp da bölemeyeceğin zaman gelir başına.

PDF dosyasındaki diğer hataları sen araştırabilirsin. Hatta yukarıda yazdıklarımı da araştır, örnekler yazıp dene. Kendin yazmadan aklına yazılmıyor maalesef.

İstisnalar gözümün önünde dursun diye hazırlamıştım. İşte bak, benim masamda böyle görünüyor mesela 🙂

exceptions

Umarım senin de işine yarar.

Sevgilerimle,

TechSiN’li meslektaşın