Compartilhar via


Não aumente exceções em cláusulas de exceção

TypeName

DoNotRaiseExceptionsInExceptionClauses

CheckId

CA2219

Category (Categoria)

Microsoft.uso

Quebrando alterar

Não quebra, quebra

Causa

Uma exceção é lançada por um finally, filtro ou uma cláusula de falhas.

Descrição da regra

Quando uma exceção aparece em uma cláusula de exceção, ele aumenta muito a dificuldade de depuração.

Quando uma exceção ocorre em um finally ou cláusula de falhas, a nova exceção oculta exceção ativo, se estiver presente. Isso torna difícil de detectar e depurar o erro original.

Quando uma exceção aparece em uma cláusula de filtro, o tempo de execução silenciosamente captura a exceção e faz com que o filtro a ser avaliada como false.Não é possível saber a diferença entre a avaliar o filtro como false e uma exceção sendo lançar de um filtro.Isso torna difícil de detectar e depurar erros na lógica do filtro.

Como corrigir violações

Para corrigir essa violação dessa regra, não explicitamente aumente uma exceção a partir de um finally, filtro ou uma cláusula de falhas.

Quando suprimir avisos

Não suprimir um aviso para esta regra.Há não há 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

Não aumente exceções em locais inesperados

Consulte também

Outros recursos

Avisos de design