SQL Server’da Try-Catch Kullanımı
Herkese merhaba,
Bu yazıda size SQL Server’da Try-Catch kullanımından bahsedeceğim.
SQL Server’da Try-Catch hata yakalamada kullanılan bir mekanizmadır. Yapılan hatayı yakalamayı ve bu hata hakkında bilgi sahibi olmamızda önemli bir rolü vardır. Genel olarak kullanım mantığı aşağıdaki gibidir.
BEGIN TRY --Hata oluşabilecek kod bloğu buraya yazılır. END TRY BEGIN CATCH --Hata oluşunca hatanın yakalandığı kısım buraya yazılır. END CATCH
Genel olarak yazım mantığı yukarıdaki gibidir. Kullanım konusunda aşağıdaki örneği inceleyelim.
BEGIN TRY SELECT Islem = 255/0 END TRY BEGIN CATCH SELECT [HataSatırı] = ERROR_LINE(), [HataSayısı] = ERROR_NUMBER(), [HataÖnemi] = ERROR_SEVERITY(), [HataDurumu] = ERROR_STATE(), [HataMesajı] = ERROR_MESSAGE() END CATCH
Burada HataSatırı, HataSayısı, HataÖnemi, HataDurumu ve HataMesajı gibi kısımlar bize hata ile ilgili bilgiler sunar. Bu kısımların karşılarında olan fonksiyonlar bu değerleri bize çekerek gösterir.
Error_Number() -> Hata numarasını elde eder.
Error_Severity() -> Hata derecesini verir.
Error_Line() -> Hatanın sebep olduğu hata numarasını verir.
Error_Procedure() -> Hataya neden olan Stored Procedure adını verir.
Error_Message() -> Hatayı açıklayan mesajı verir.
Error_State() -> Hatanın kod değerini sunar.
- 0 veya 10 : Kullanıcı veri girişinden kaynaklanan hatalar
- 11-16 arası: Kullanıcının düzeltebileceği hatalar
- 17 : Yetersiz kaynak hataları (Diskin dolu olması ya da tablonun salt okunur olması gibi)
- 18 : Yazılımdan kaynaklanan hatalar
- 19 : Constraint’lere takılan hatalar
- 20-25 arası: Kritik hatalar
Not : TRY-CATCH çalışma anındaki hataları yakalayabilir. SQL kodunda olan syntax yani yazım yanlışı hatalarını yakalayamaz.
Genel olarak kullanımı bu şekildedir.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.