Aracılığıyla paylaş


error_number (Transact-SQL)

Bir try… catch blok neden hata hata numarasını döndürürcatch yapı çalıştırılacak.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

ERROR_NUMBER ( )

Dönüş Türleri

int

Dönüş Değeri

İçinde bir catch blokçağrıldığında çalıştırılacak catch blok nedeniyle oluşan hata iletisi hata sayısını verir.

kapsam bir catch blokdışında adlı null döndürür.

Açıklamalar

Bu işlev herhangi bir kapsam bir catch blokiçinde çağrılabilir.

error_number kaç kez çalıştırmak veya kapsam catch blokiçinde nerede çalıştığına bakmaksızın hata numarasını döndürür.@@ Hemen bir hata neden olan bir deyim veya bir catch blokilk deyim yalnızca hata numarasını döndüren hata, aksine için budur.

Yuvalanmış catch bloklarında error_number hata sayısını belirli kapsam başvuruda bulunulan catch blok verir.Örneğin, catch blok bir outer try...Yuvalanmış try catch yapı olabilir...catch yapı.Yuvalanmış catch blokiçinde error_number yuvalanmış catch blokçağrılan hata verir.catch blokiçinde error_number çalıştırırsanız, o catch blokçağrılan hata sayısını verir.

Örnekler

A.error_number içinde bir catch blokkullanma

Aşağıdaki kod örneği gösterildiği bir SELECT deyim sıfır ile bölme hatası üretir.Hata sayısını verir.

USE AdventureWorks2008R2;
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.error_number bir catch blok diğer hata işleme araçları ile kullanma

Aşağıdaki kod örneği gösterildiği bir SELECT deyim sıfır ile bölme hatası üretir.Hata numarası ile birlikte hata bilgileri döndürülür.

USE AdventureWorks2008R2;
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