CA2219: Não aumente exceções em cláusulas de exceção
TypeName |
DoNotRaiseExceptionsInExceptionClauses |
CheckId |
CA2219 |
<strong>Categoria</strong> |
Microsoft.Usage |
Alteração significativa |
Não separável, quebrando |
Causa
Uma exceção é lançada a partir de um finally, filtro, ou falha de cláusula.
Descrição da regra
Quando uma exceção é gerada em uma cláusula de exceção, ele aumenta muito a dificuldade de depuração.
Quando uma exceção em um finally ou cláusula de falhas, new exception oculta a exceção ativa, se presente. Isso torna difícil detectar e depurar o erro original.
Quando uma exceção é gerada em uma cláusula de filtro, o runtime silenciosamente captura a exceção e faz com que o filtro a ser avaliada como false. Não há nenhuma maneira de saber a diferença entre o filtro de avaliar como false e uma exceção sendo throw de um filtro. Isso torna difícil detectar e depurar erros na lógica do filtro.
Como corrigir violações
Para corrigir essa violação dessa regra, não explicitamente elevar uma exceção de um finally, filtro, ou falha de cláusula.
Quando suprimir avisos
Não suprimir um aviso para esta regra. Não há nenhum cenários em que uma exceção em uma cláusula de exceção fornece um benefício para o código de execução.
Regras relacionadas
CA1065: Não aumente exceções em locais inesperados