hata yakalama bloğu (begin try, end try ve catch)

Hat Yakalama (Try Catch)

  1. Begin Try
  2. Sql komutları
  3. End Try
  4. Begin Catch
  5. Sql komutları
  6. End Catch

Bir komut çalıştırıldığında hata oluşka ihtimali var ise, o hatayı kontrol altına almak için hata yakalama kullanılır.

Try bloğundaki komutlar işletilir. İşletilmesi esnasında bir hata oluşursa catch bloğundaki komutlar çalıştırılır. Try bloğunda hata oluşmazsa catch bloğu çalıştırılmadan end catch satırına geçilir. Catch bloğu bittiğinde varsa catch den bir sonraki komut işletilir.

Catch bloğunda aşağıdaki fonksiyonlar kullanılarak, oluşan hata hakkında bilgi alınabilir:

  • ERROR_NUMBER() hata numarasını döndürür
  • ERROR_SEVERITY() hatanın önem derecesini döndürür.
  • ERROR_STATE() hatanın önceliğini döndürür
  • ERROR_PROCEDURE() hataya sebep olan saklı yordam ya da trigger adını döndürür
  • ERROR_LINE() hataya sebep olan satırın numarasını döndürür.
  • ERROR_MESSAGE() hata mesajının tamamını metinsel ifade olarak döndürür.

örnek:

begin try

declare @atama int

set @atama='fatih'

end try

begin catch

select 'hata oluştu '+ ERROR_MESSAGE()

end catch

 

Sıfıra bölme hatası


begin try

declare @atama int

set @atama=5/0

end try

begin catch

select 'hata oluştu'+ ERROR_MESSAGE()

end catch

Telefon +90 505 747 42 84
Email info@devedijital.com
Adres
Tacettin Veli Mahallesi Halit Narin Caddesi Bahadır Plaza Kat:11 Daire:41 38230 Deve Dijital Melikgazi/Kayseri/Türkiye