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