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 9 | 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.
Reglas relacionadas
CA1065: No producir excepciones en ubicaciones inesperadas