Aracılığıyla paylaş


error_message (Transact-SQL)

Bir try… catch blok nedeniyle oluşan hata iletisi metnini döndürürcatch yapı çalıştırılacak.

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

Sözdizimi

ERROR_MESSAGE ( ) 

Dönüş Türleri

nvarchar(2048)

Dönüş Değeri

İçinde bir catch blokçağrıldığında çalıştırılacak catch blok neden hata iletisinin tam metni verir.Metin uzunlukları, nesne adlarını veya zamanları gibi değiştirilebilir parametreler için sağlanan değerler içerir.

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

Açıklamalar

error_message herhangi bir kapsam bir catch blokiçinde çağrılabilir.

kapsam catch blokiçinde çalıştırıldığı veya hata iletisini nasıl olursa olsun kaç kez error_message döndürür çalıştırın.@@ Hemen bir hata neden olan bir deyim veya bir catch blokilk deyim yalnızca numaralı hata döndüren hata gibi işlevler için tersine budur.

Yuvalanmış catch bloklarında error_message hata iletisinin belirli kapsam başvuruda bulunulan catch blok döndürür.Örneğin, catch blok bir outer try...Yuvalanmış try catch yapı olabilir...catch yapı.Yuvalanmış catch blokiçinde error_message, yuvalanmış catch blokçağrılan hata iletisi döndürür.error_message catch blokiçinde çalıştırırsanız, o catch blokçağrılan hata iletisi döndürür.

Örnekler

A.error_message bir catch blokkullanma

Aşağıdaki kod örneği gösterildiği bir SELECT deyim sıfır ile bölme hatası üretir.Hata iletisi 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_MESSAGE() AS ErrorMessage;
END CATCH;
GO

B.error_message 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 iletisi 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