ERROR_SEVERITY (Transact-sql)
try… catch bloğu neden hata önem verircatch yapı çalıştırılacak.
Transact-SQL Sözdizim Kuralları
Sözdizimi
ERROR_SEVERITY ( )
Dönüş Türleri
int
Dönüş Değeri
Bir catch bloğu çağrıldığında çalıştırılacak catch bloğu nedeniyle oluşan hata iletisi önem verir.
Bir catch bloğu kapsamı dışında null döndürür.
Açıklamalar
ERROR_SEVERITY, herhangi bir catch bloğu kapsamında çağrılabilir.
ERROR_SEVERITY hata önem olursa olsun kaç kez çalıştırmak olduğunu verir veya yakalamak kapsamı içinde koşmak olduğu engelleyebilir. @@ error, yalnızca hata hemen bir hata neden bir sonraki deyime veya ilk deyimi bir catch bloğu verir gibi fonksiyonları farklı olarak budur.
Yuvalanmış catch bloklarında ERROR_SEVERITY hata verir önem catch kapsam için özel blok o içinde hangi başvurulmaktadır. Örneğin, bir dış deneyin catch bloğu...catch yapısı yuvalanmış DENEMEK olabilir...catch yapı. Yuvalanmış catch bloğu içinde ERROR_SEVERITY, yuvalanmış catch bloğu çağrıldığında hata önem verir. ERROR_SEVERITY dış catch bloğu içinde çalıştırılırsa bu catch bloğu çağrıldığında hatadan önem verir.
Örnekler
A.ERROR_SEVERITY bir catch bloğu kullanma
Aşağıdaki örnekte gösterildiği bir SELECTbir tarafından sıfıra bölme hatası üretir deyimini. Hata önem verilir.
USE AdventureWorks2012;
GO
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH;
GO
USE AdventureWorks2012;
GO
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH;
GO
B.ERROR_SEVERITY bir catch bloğu diğer hata işleme araçları ile kullanma
Aşağıdaki örnekte gösterildiği bir SELECTbir bölme sıfır hata üretir deyimini. Şiddeti ile birlikte, ilgili hata döndürülür.
USE AdventureWorks2012;
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
USE AdventureWorks2012;
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
Ayrıca bkz.
Başvuru
DENEYİN...catch (Transact-sql)