Compartilhar via


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

Consulte também

Outros recursos

Avisos de design