Share via


ERROR_SEVERITY (Transact-sql)

try… catch bloğu neden hata önem verircatch yapı çalıştırılacak.

Konu bağlantısı simgesi 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

sys.messages (Transact-sql)

DENEYİN...catch (Transact-sql)

ERROR_LINE (Transact-sql)

error_message (Transact-sql)

error_number (Transact-sql)

error_procedure (Transact-sql)

error_state (Transact-sql)

RAISERROR (Transact-SQL)

@@ error (Transact-sql)