Compartir a través de


CA2219: No producir excepciones en cláusulas de excepción

Nombre de tipo

DoNotRaiseExceptionsInExceptionClauses

Identificador de comprobación

CA2219

Categoría

Microsoft.Usage

Cambio problemático

No problemático, Problemático

Causa

Se inicia una excepción desde una cláusula finally, de filtro o de error.

Descripción de la regla

Cuando se inicia una excepción en una cláusula de excepción, aumenta notablemente la dificultad de depuración.

Cuando se inicia una excepción en una cláusula finally o de error, la nueva excepción oculta la excepción activa, si existe. Esto hace que el error original sea difícil de detectar y depurar.

Cuando se inicia una excepción en una cláusula de filtro, el motor en tiempo de ejecución la detecta automáticamente y hace que el filtro se evalúe como false. No hay ninguna manera de indicar la diferencia entre el filtro que se evalúa como false y una excepción que se inicia desde un filtro. Esto hace que sea difícil detectar y depurar los errores en la lógica del filtro.

Cómo corregir infracciones

Para corregir esta infracción de la regla, no produzca explícitamente una excepción en una cláusula finally, de filtro o de error.

Cuándo suprimir advertencias

No suprima las advertencias de esta regla. No hay ningún escenario en el que una excepción iniciada en una cláusula de excepción proporcione ventajas al código que se ejecuta.

Reglas relacionadas

CA1065: No producir excepciones en ubicaciones inesperadas

Vea también

Otros recursos

Diseñar advertencias