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

Propiedad Value
Identificador de la regla CA2219
Título No producir excepciones en cláusulas de excepción
Categoría Uso
La corrección es problemática o no problemática No problemática, problemática
Habilitado de forma predeterminada en .NET 8 Como sugerencia

Causa

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

Descripción de la regla

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

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

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

Cómo corregir infracciones

Para corregir esta infracción de esta regla, no genere explícitamente una excepción a partir de una cláusula de error, filtro o finally.

Cuándo suprimir las advertencias

No suprima las advertencias para esta regla. No hay ningún escenario en el que una excepción generada en una cláusula de excepción proporcione una ventaja para el código de ejecución.

CA1065: No producir excepciones en ubicaciones inesperadas

Consulte también