Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
Deze functie retourneert de ernstwaarde van de fout waarin een fout optreedt, als deze fout het CATCH blok van een TRY...CATCH constructie heeft veroorzaakt dat wordt uitgevoerd.
Transact-SQL syntaxis-conventies
Syntaxis
ERROR_SEVERITY ( )
Retourtypen
Int
Retourwaarde
Wanneer een CATCH blok wordt aangeroepen waarin een fout optreedt, ERROR_SEVERITY wordt de ernstwaarde geretourneerd van de fout waardoor het CATCH blok is uitgevoerd.
ERROR_SEVERITY retourneert NULL indien aangeroepen buiten het bereik van een CATCH blok.
Opmerkingen
ERROR_SEVERITY ondersteunt aanroepen binnen het bereik van een CATCH blok.
ERROR_SEVERITY retourneert de ernstwaarde van een fout, ongeacht hoe vaak deze wordt uitgevoerd of waar deze wordt uitgevoerd binnen het bereik van het CATCH blok. Dit contrasteert met een functie zoals @@ERROR, die alleen een foutnummer retourneert in de instructie direct na de instructie die een fout veroorzaakt.
ERROR_SEVERITY werkt doorgaans in een geneste CATCH blok.
ERROR_SEVERITYretourneert de waarde voor de ernst van de fout die specifiek is voor het bereik van het CATCH blok waarnaar wordt verwezen.CATCH Het blok van een buitenste CATCH constructie kan bijvoorbeeld TRY...CATCH een binnenste TRY...CATCH constructie hebben. Binnen dat binnenste CATCH blok wordt de ernstwaarde geretourneerd van de fout die het binnenste ERROR_SEVERITY blok CATCH heeft aangeroepen. Als ERROR_SEVERITY het buitenste CATCH blok wordt uitgevoerd, wordt de ernstwaarde van de fout geretourneerd van de fout die dat buitenste blok heeft CATCH aangeroepen.
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
Eén. ERROR_SEVERITY gebruiken in een CATCH-blok
In dit voorbeeld ziet u een opgeslagen procedure waarmee een fout tussen delen en nul wordt gegenereerd.
ERROR_SEVERITY retourneert de ernstwaarde van die fout.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1 / 0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH
GO
Hier is het resultatenoverzicht.
-----------
(0 row(s) affected)
ErrorSeverity
-------------
16
(1 row(s) affected)
B. Gebruik ERROR_SEVERITY in een CATCH-blok met andere hulpprogramma's voor foutafhandeling
In dit voorbeeld ziet u een SELECT instructie waarmee een verdeling wordt gegenereerd door nul. De opgeslagen procedure retourneert informatie over de fout.
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
Hier is het resultatenoverzicht.
-----------
(0 row(s) affected)
ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage
----------- ------------- ----------- --------------- ----------- ----------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.
(1 row(s) affected)
Verwante inhoud
- sys.messages
- Ernst van database-enginefouten
- TRY... CATCH (Transact-SQL)
- ERROR_LINE (Transact-SQL)
- ERROR_MESSAGE (Transact-SQL)
- ERROR_NUMBER (Transact-SQL)
- FOUT_PROCÉDURE (Transact-SQL)
- FOUTTOESTAND (Transact-SQL)
- RAISERROR (Transact-SQL)
- @@ERROR (Transact-SQL)
- Naslaginformatie over fouten en gebeurtenissen (Database Engine)