Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Ez a függvény annak a hibának a súlyossági értékét adja vissza, amelyben hiba történik, ha ez a hiba egy CATCH szerkezet blokkjának TRY...CATCH végrehajtását okozta.
Transact-SQL szintaxis konvenciók
Szemantika
ERROR_SEVERITY ( )
Visszatérési típusok
Int
Visszaadott érték
Ha egy CATCH blokkban hiba történik, a hiba súlyossági értékét adja vissza, ERROR_SEVERITY amely a CATCH blokk futtatását okozta.
ERROR_SEVERITY
NULL a blokk hatókörén CATCH kívül eső meghívás esetén ad vissza.
Megjegyzések
ERROR_SEVERITY a blokk hatókörén CATCH belül bárhol támogatja a hívásokat.
ERROR_SEVERITY A hiba súlyossági értékét adja vissza, függetlenül attól, hogy hányszor fut vagy hol fut a CATCH blokk hatókörén belül. Ez ellentétben áll egy olyan függvénnyel, mint a @@ERROR, amely csak egy hibaszámot ad vissza az utasításban, közvetlenül azt követően, amely hibát okoz.
ERROR_SEVERITY általában beágyazott CATCH blokkokban működik.
ERROR_SEVERITYA hiba súlyossági értékét adja vissza, amely az adott CATCH blokkra hivatkozó blokk hatókörére CATCH vonatkozik. A külső CATCH szerkezet blokkja például TRY...CATCH belső TRY...CATCH szerkezettel rendelkezhet. A belső CATCH blokkon belül a belső ERROR_SEVERITY blokkot CATCH meghívó hiba súlyossági értékét adja vissza. Ha ERROR_SEVERITY a külső CATCH blokkban fut, a külső blokkot meghívó CATCH hiba súlyossági értékét adja vissza.
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
Egy. ERROR_SEVERITY használata CATCH blokkban
Ez a példa egy tárolt eljárást mutat be, amely osztva nullával hibát okoz.
ERROR_SEVERITY A hiba súlyossági értékét adja vissza.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1 / 0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH
GO
Itt van az eredmények összessége.
-----------
(0 row(s) affected)
ErrorSeverity
-------------
16
(1 row(s) affected)
B. ERROR_SEVERITY használata catch blokkban más hibakezelő eszközökkel
Ez a példa egy olyan utasítást SELECT mutat be, amely nulla hibával való osztást hoz létre. A tárolt eljárás adatokat ad vissza a hibáról.
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
Itt van az eredmények összessége.
-----------
(0 row(s) affected)
ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage
----------- ------------- ----------- --------------- ----------- ----------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.
(1 row(s) affected)
Kapcsolódó tartalom
- sys.messages
- Adatbázismotor hiba súlyosságai
- MEGPRÓBÁL... 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)
- Hibák és események referenciája (adatbázismotor)