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:
ö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