2008-10-24 25 views
14

Java requiere que capture todas las excepciones posibles o las declare como lanzadas en la firma del método. Este no es el caso con C#, pero todavía siento que es una buena práctica detectar todas las excepciones. ¿Alguien sabe de una herramienta que puede procesar un proyecto de C# y señalar los lugares donde se lanza una excepción pero no se detecta?Captura de excepciones controladas en C#

+4

¿Por qué le gustaría ver todas las excepciones? A menos que pueda hacer algo para corregir el problema o lo esté registrando (en cuyo caso lo volvería a lanzar después), debe permitir que las excepciones lleguen al punto en el código donde puedan solucionarse. –

+0

Dicho esto, creo que una herramienta de este tipo sería útil, pero no para el * exacto * mismo propósito que usted menciona. –

+0

Bueno, eso es todo, no tengo idea de qué excepciones podrían surgir. Podría atrapar Excepción, pero ¿qué voy a hacer con eso? Ser explícito sobre las excepciones le hace pensar más sobre lo que está escribiendo y dónde podría salir mal. – stimms

Respuesta

9

Consulte el complemento de ExceptionFinder de Jason Bock para .NET Reflector. Hace justo lo que estás buscando. He aquí una screeny:

comprobarlo en CodePlex

+0

El enlace está roto. –

2

El software Red-Gate tiene un producto llamado Exception Hunter que debería hacer eso.

Editar: Este producto ha sido descontinuado por el software Red-Gate.

0

Si está utilizando C# para una aplicación web, puede usar ELMAH, que muestra una lista de todas las excepciones manejadas y no controladas.

Simplemente descargue ELMAH y conéctelo. ¡Es GRATIS!

0

No los atrape en métodos individuales, a menos que sea necesario, configure un controlador global.

Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); 

private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) 
{ 
     dispatchException(e.Exception); 
} 
Cuestiones relacionadas