ERROR_SEVERITY (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Fungsi ini mengembalikan nilai tingkat keparahan kesalahan di mana kesalahan terjadi, jika kesalahan tersebut menyebabkan blok CATCH dari TRY... KONSTRUKSI CATCH untuk dieksekusi.

Konvensi sintaks transact-SQL

Sintaksis

ERROR_SEVERITY ( )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Jenis Kembalian

int

Tampilkan Nilai

Ketika dipanggil di blok CATCH tempat kesalahan terjadi, ERROR_SEVERITY mengembalikan nilai tingkat keparahan kesalahan yang menyebabkan CATCH blok berjalan.

ERROR_SEVERITY mengembalikan NULL jika dipanggil di luar cakupan blok CATCH.

Keterangan

ERROR_SEVERITY mendukung panggilan di mana saja dalam cakupan blok CATCH..

ERROR_SEVERITY mengembalikan nilai tingkat keparahan kesalahan dari kesalahan, terlepas dari berapa kali kesalahan berjalan atau di mana ia berjalan dalam cakupan CATCH blok. Ini berbeda dengan fungsi seperti @@ERROR, yang hanya mengembalikan nomor kesalahan dalam pernyataan segera setelah yang menyebabkan kesalahan.

ERROR_SEVERITY biasanya beroperasi di blok berlapis CATCH . ERROR_SEVERITY mengembalikan nilai tingkat keparahan kesalahan khusus untuk cakupan blok yang mereferensikan blok tersebut CATCHCATCH . Misalnya, CATCH blok TRY luar... Konstruksi CATCH bisa memiliki konstruksi dalam TRY...CATCH . Di dalam blok dalam CATCH itu, ERROR_SEVERITY mengembalikan nilai tingkat keparahan kesalahan yang memanggil blok dalam CATCH . Jika ERROR_SEVERITY berjalan di blok luar CATCH , ia mengembalikan nilai tingkat keparahan kesalahan dari kesalahan yang memanggil blok luar CATCH tersebut.

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

J. Menggunakan ERROR_SEVERITY dalam blok CATCH

Contoh ini menunjukkan prosedur tersimpan yang menghasilkan kesalahan divide-by-zero. ERROR_SEVERITY mengembalikan nilai tingkat keparahan kesalahan tersebut.

BEGIN TRY  
    -- Generate a divide-by-zero error.  
    SELECT 1/0;  
END TRY  
BEGIN CATCH  
    SELECT ERROR_SEVERITY() AS ErrorSeverity;  
END CATCH;  
GO  

Berikut adalah hasil yang ditetapkan.

-----------

(0 row(s) affected)

ErrorSeverity
-------------
16

(1 row(s) affected)

B. Menggunakan ERROR_SEVERITY dalam blok CATCH dengan alat penanganan kesalahan lainnya

Contoh ini menunjukkan SELECT pernyataan yang menghasilkan kesalahan dibagi dengan nol. Prosedur tersimpan mengembalikan informasi tentang kesalahan.

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  

Berikut adalah hasil yang ditetapkan.

-----------

(0 row(s) affected)

ErrorNumber ErrorSeverity ErrorState  ErrorProcedure  ErrorLine   ErrorMessage
----------- ------------- ----------- --------------- ----------- ----------------------------------
8134        16            1           NULL            4           Divide by zero error encountered.

(1 row(s) affected)

Lihat Juga

sys.messages (Transact-SQL)
MENCOBA... CATCH (Transact-SQL)
ERROR_LINE (T-SQL)
ERROR_MESSAGE (T-SQL)
ERROR_NUMBER (T-SQL)
ERROR_PROCEDURE (T-SQL)
ERROR_STATE (T-SQL)
RAISERROR (Transact-SQL)
@@ERROR (T-SQL)
Referensi Kesalahan dan Peristiwa (Mesin Database)