Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Tato funkce vrátí hodnotu závažnosti chyby, kde dojde k chybě, pokud tato chyba způsobila CATCH spuštění bloku konstruktoru TRY...CATCH .
Syntaxe
ERROR_SEVERITY ( )
Návratové typy
Int
Návratová hodnota
Při zavolání v CATCH bloku, kde dojde k chybě, ERROR_SEVERITY vrátí hodnotu závažnosti chyby, která způsobila CATCH spuštění bloku.
ERROR_SEVERITY vrátí NULL , pokud je volána mimo rozsah CATCH bloku.
Poznámky
ERROR_SEVERITY podporuje volání kdekoli v rozsahu CATCH bloku.
ERROR_SEVERITY vrátí hodnotu závažnosti chyby chyby bez ohledu na to, kolikrát se spustí nebo kde běží v rámci rozsahu CATCH bloku. To kontrastuje s funkcí, jako je @@ERROR, která vrací pouze číslo chyby v příkazu bezprostředně za funkcí, která způsobuje chybu.
ERROR_SEVERITY obvykle funguje v vnořeném CATCH bloku.
ERROR_SEVERITY vrátí hodnotu závažnosti chyby specifickou pro rozsah CATCH bloku odkazovaného na CATCH daný blok. Například CATCH blok vnější TRY...CATCH konstrukce může mít vnitřní TRY...CATCH konstruktor. Uvnitř tohoto vnitřního CATCH bloku ERROR_SEVERITY vrátí hodnotu závažnosti chyby, která vyvolala vnitřní CATCH blok. Pokud ERROR_SEVERITY se spustí ve vnějším CATCH bloku, vrátí hodnotu závažnosti chyby, která vyvolala tento vnější CATCH blok.
Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
A. Použití ERROR_SEVERITY v bloku CATCH
Tento příklad ukazuje uloženou proceduru, která generuje chybu dělení nulou.
ERROR_SEVERITY vrátí hodnotu závažnosti této chyby.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1 / 0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH
GO
Tady je soubor výsledků.
-----------
(0 row(s) affected)
ErrorSeverity
-------------
16
(1 row(s) affected)
B. Použití ERROR_SEVERITY v bloku CATCH s jinými nástroji pro zpracování chyb
Tento příklad ukazuje SELECT příkaz, který generuje chybu dělení nulou. Uložená procedura vrátí informace o chybě.
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
Tady je soubor výsledků.
-----------
(0 row(s) affected)
ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage
----------- ------------- ----------- --------------- ----------- ----------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.
(1 row(s) affected)
Související obsah
- systém.zprávy
- Závažnosti chyb databázového stroje
- VYZKOUŠET... ZACHYTIT (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)
- Referenční dokumentace k chybám a událostem (databázový stroj)