ERROR_SEVERITY (T-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse 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.
Sintaks
ERROR_SEVERITY ( )
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 CATCH
CATCH
. 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 set hasilnya.
-----------
(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 set hasilnya.
-----------
(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)
COBA... 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)