Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Esta função retorna o valor de gravidade do erro onde ocorre um erro, se esse erro causou a execução do CATCH bloco de uma TRY...CATCH construção.
Transact-SQL convenções de sintaxe
Sintaxe
ERROR_SEVERITY ( )
Tipos de devolução
Int
Valor de retorno
Quando chamado em um CATCH bloco onde ocorre um erro, ERROR_SEVERITY retorna o valor de gravidade do erro que causou a execução do CATCH bloco.
ERROR_SEVERITY retorna NULL se chamado fora do escopo de um CATCH bloco.
Observações
ERROR_SEVERITY suporta chamadas em qualquer lugar dentro do escopo de um CATCH bloco.
ERROR_SEVERITY Retorna o valor de gravidade do erro de um erro, independentemente de quantas vezes ele é executado ou onde ele é executado dentro do escopo do CATCH bloco. Isso contrasta com uma função como @@ERROR, que só retorna um número de erro na instrução imediatamente após a que causa um erro.
ERROR_SEVERITY normalmente opera em um bloco aninhado CATCH .
ERROR_SEVERITY Retorna o valor de gravidade do erro específico para o escopo do bloco que fez referência a CATCH esse CATCH bloco. Por exemplo, o CATCH bloco de uma construção externa TRY...CATCH pode ter uma construção interna TRY...CATCH . Dentro desse bloco interno CATCH , ERROR_SEVERITY retorna o valor de gravidade do erro que invocou o bloco interno CATCH . Se ERROR_SEVERITY for executado no bloco externo CATCH , ele retornará o valor de gravidade do erro que invocou esse bloco externo CATCH .
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
Um. Utilizar ERROR_SEVERITY num bloco CATCH
Este exemplo mostra um procedimento armazenado que gera um erro de divisão por zero.
ERROR_SEVERITY Retorna o valor de gravidade desse erro.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1 / 0;
END TRY
BEGIN CATCH
SELECT ERROR_SEVERITY() AS ErrorSeverity;
END CATCH
GO
Aqui está o conjunto de resultados.
-----------
(0 row(s) affected)
ErrorSeverity
-------------
16
(1 row(s) affected)
B. Use ERROR_SEVERITY em um bloco CATCH com outras ferramentas de tratamento de erros
Este exemplo mostra uma SELECT instrução que gera um erro de divisão por zero. O procedimento armazenado retorna informações sobre o erro.
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
Aqui está o conjunto de resultados.
-----------
(0 row(s) affected)
ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage
----------- ------------- ----------- --------------- ----------- ----------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.
(1 row(s) affected)
Conteúdo relacionado
- sys.messages
- Gravidades de erro do Mecanismo de Banco de Dados
- TENTE... CAPTURAR (Transact-SQL)
- LINHA_ERRO (Transact-SQL)
- MENSAGEM_DE_ERRO (Transact-SQL)
- ERROR_NUMBER (Transact-SQL)
- PROCEDIMENTO_ERRO (Transact-SQL)
- ERROR_STATE (Transact-SQL)
- RAISERROR (Transact-SQL)
- @@ERROR (Transact-SQL)
- Referência de erros e eventos (Mecanismo de Banco de Dados)