ERROR_NUMBER (Transact-SQL)
Çalıştırılacak bir TRY…CATCH yapýsý CATCH blok neden olan hatasının hata verir.
ERROR_NUMBER ( )
Dönüş Türleri
int
Return Value
Bir CATCH blok içinde çağrıldığında, hata iletisinin CATCH blok çalışmasına neden olan hata numarasını döndürür.
kapsam dışında bir CATCH blok adlı ise, NULL döndürüyor.
Remarks
Bu işlev içinde herhangi bir yere çağrılabilir kapsam bir CATCH blok.
Hata numarasını dikkate almadan kaç kez çalıştırmak veya bunun içinde çalıştırılır ERROR_NUMBER döndürür kapsam CATCH blok.@@ Veren yalnızca hata numarasını hemen hataya neden olan bir sonraki veya bir CATCH bloğunun ilk deyim HATA, tersine için budur.
Iç içe geçmiş CATCH blok içinde ERROR_NUMBER hata döndürüyor sayısı kapsama özel CATCH engellemek, onu başvuruda bulunulan içinde.Örneğin, bir dış... TRY'i CATCH yapı CATCH blok iç içe geçmiş bir TRY,... CATCH yapýsý olabilir.Iç içe geçmiş CATCH blok içinde ERROR_NUMBER iç içe geçmiş CATCH blok çağrılan hata verir.Dış CATCH blok ERROR_NUMBER çalıştırılırsa, CATCH blok çağrılan hata sayısını verir.
Örnekler
C.Bir CATCH blok içinde ERROR_NUMBER kullanma
Aşağıdaki örnekte gösterildiği kod bir SELECT deyim bir sıfıra bölme hatasına neden olur. Hata sayısını verir.
USE AdventureWorks;
GO
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS ErrorNumber;
END CATCH;
GO
b.Diğer hata işleme araçlarıyla bir CATCH blok içinde ERROR_NUMBER kullanma
Aşağıdaki örnekte gösterildiği kod bir SELECT deyim bir sıfıra bölme hatasına neden olur. Hata numarası ile birlikte, bilgileri hata döndürülür.
USE AdventureWorks;
GO
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
GO
See Also