CA2219: não acione exceções em cláusulas de exceção
TypeName |
DoNotRaiseExceptionsInExceptionClauses |
CheckId |
CA2219 |
Categoria |
Microsoft.Usage |
Alteração Significativa |
Não violar, interrompendo |
Causa
Uma exceção é lançada de finally, um filtro, ou cláusula de falha.
Descrição da Regra
Quando uma exceção é gerada em uma cláusula de exceção, aumenta consideravelmente dificuldade de depuração.
Quando uma exceção é gerada em finally ou em uma cláusula de falha, a nova exceção oculta a exceção ativa, se houver.Isso gerencie o erro original difícil detectar e depurar.
Quando uma exceção é gerada em uma cláusula de filtro, o tempo de execução de captura silenciosamente a exceção, e faz com que o filtro é avaliada como false.Não há como saber a diferença entre o filtro que forem avaliadas como false e uma exceção que está o lançamento 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 desta regra, explicitamente não digite uma exceção de finally, filtrar, ou não falha da cláusula.
Quando Suprimir Alertas
Não suprima um aviso para a regra.Não há nenhum cenário em que uma exceção gerada em uma cláusula de exceção fornece um benefício ao código executado.
Regras Relacionadas
CA1065: não acione exceções em locais inesperados