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.

Error_Severity() fonksiyonunda hata dereceleri aşağıdaki gibidir.
  • 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.

1.306 Kez Okundu

Kategoriler: