ERROR_SEVERITY (Transact-SQL)ERROR_SEVERITY (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Gibt den Schweregrad des Fehlers zurück, der die Ausführung des CATCH-Blockes eines TRY…CATCH-Konstrukts bewirkt hat.Returns the severity of the error that caused the CATCH block of a TRY…CATCH construct to be run.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

ERROR_SEVERITY ( )  

RückgabetypenReturn Types

intint

RückgabewertReturn Value

Bei einem Aufruf in einem CATCH-Block wird der Schweregrad der Fehlermeldung zurückgegeben, die die Ausführung des CATCH-Blockes bewirkt hat.When called in a CATCH block, returns the severity of the error message that caused the CATCH block to be run.

Gibt NULL zurück, wenn die Funktion außerhalb des Bereichs eines CATCH-Blockes aufgerufen wird.Returns NULL if called outside the scope of a CATCH block.

HinweiseRemarks

ERROR_SEVERITY kann von einer beliebigen Stelle innerhalb des Bereichs eines CATCH-Blockes aufgerufen werden.ERROR_SEVERITY may be called anywhere within the scope of a CATCH block.

ERROR_SEVERITY gibt den Fehlerschweregrad unabhängig von der Anzahl der Ausführungen oder von der Stelle der Ausführung innerhalb des Bereichs des CATCH-Blockes zurück.ERROR_SEVERITY returns the error severity regardless of how many times it is run, or where it is run within the scope of the CATCH block. Dies steht im Gegensatz zu Funktionen, wie etwa @@ERROR, das nur die Anzahl der Fehler zurückgibt, in der Anweisung unmittelbar auf das Projekt, das einen Fehler verursacht hat, oder klicken Sie in der ersten Anweisung eines CATCH-Blockes.This is in contrast to functions like @@ERROR, which only returns the error number in the statement immediately after the one that causes an error, or in the first statement of a CATCH block.

In geschachtelten CATCH-Blöcken gibt ERROR_SEVERITY den für den Bereich des CATCH-Blockes spezifischen Fehlerschweregrad zurück, auf den im Block verwiesen wird.In nested CATCH blocks, ERROR_SEVERITY returns the error severity specific to the scope of the CATCH block in which it is referenced. Beispielsweise könnte der CATCH-Block eines äußeren TRY...CATCH-Konstrukts ein geschachteltes TRY...CATCH-Konstrukt aufweisen.For example, the CATCH block of an outer TRY...CATCH construct could have a nested TRY...CATCH construct. Innerhalb des geschachtelten CATCH-Blockes gibt ERROR_SEVERITY den Schweregrad des Fehlers zurück, der den geschachtelten CATCH-Block aufgerufen hat.Within the nested CATCH block, ERROR_SEVERITY returns the severity from the error that invoked the nested CATCH block. Wird ERROR_SEVERITY im äußeren CATCH-Block ausgeführt, wird der Schweregrad des Fehlers zurückgegeben, der den CATCH-Block aufgerufen hat.If ERROR_SEVERITY is run in the outer CATCH block, it returns the severity from the error that invoked that CATCH block.

BeispieleExamples

A.A. Verwenden von ERROR_SEVERITY in einem CATCH-BlockUsing ERROR_SEVERITY in a CATCH block

Das folgende Beispiel zeigt eine SELECT -Anweisung, die Fehler aufgrund einer Division durch 0 generiert.The following example shows a SELECT statement that generates a divide-by-zero error. Der Schweregrad des Fehlers wird zurückgegeben.The severity of the error is returned.


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

B.B. Verwenden von ERROR_SEVERITY in einem CATCH-Block mit anderen Tools zur FehlerbehandlungUsing ERROR_SEVERITY in a CATCH block with other error-handling tools

Das folgende Beispiel zeigt eine SELECT-Anweisung, die einen Fehler aufgrund einer Division durch Null generiert.The following example shows a SELECT statement that generates a divide by zero error. Abgesehen von Schweregrad werden Informationen im Zusammenhang mit dem Fehler zurückgegeben.Along with the severity, information that relates to the error is returned.


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  

Beispiele: Azure SQL Data WarehouseAzure SQL Data Warehouse und Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

C.C. Verwenden von ERROR_SEVERITY in einem CATCH-Block mit anderen Tools zur FehlerbehandlungUsing ERROR_SEVERITY in a CATCH block with other error-handling tools

Das folgende Beispiel zeigt eine SELECT-Anweisung, die einen Fehler aufgrund einer Division durch Null generiert.The following example shows a SELECT statement that generates a divide by zero error. Abgesehen von Schweregrad werden Informationen im Zusammenhang mit dem Fehler zurückgegeben.Along with the severity, information that relates to the error is returned.


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_MESSAGE() AS ErrorMessage;  
END CATCH;  
GO  

Siehe auchSee Also

sys.messages (Transact-SQL) sys.messages (Transact-SQL)
TRY...CATCH (Transact-SQL) TRY...CATCH (Transact-SQL)
ERROR_LINE (Transact-SQL) ERROR_LINE (Transact-SQL)
ERROR_MESSAGE (Transact-SQL) ERROR_MESSAGE (Transact-SQL)
ERROR_NUMBER (Transact-SQL) ERROR_NUMBER (Transact-SQL)
ERROR_PROCEDURE (Transact-SQL) ERROR_PROCEDURE (Transact-SQL)
ERROR_STATE ( Transact-SQL ) ERROR_STATE (Transact-SQL)
RAISERROR (Transact-SQL) RAISERROR (Transact-SQL)
@@ERROR (Transact-SQL)@@ERROR (Transact-SQL)