2010-03-02 8 views
8

Sé que el manejo de excepciones es muy importante y lo estamos haciendo en todos nuestros proyectos. La razón principal es registrar errores que ocurren en los clientes. Esto funciona bien y no es problema en absoluto.Solo descanso para ciertos tipos de excepciones

Pero mientras sigo codificando y ejecutando la aplicación con Visual Studio, no quiero ningún manejo de excepción. Quiero que el depurador se detenga justo en la línea donde se colgó la aplicación y no en algún registrador de errores que escribí. ¡Y no quiero enviar excepciones con throw!

Pero todavía estoy buscando una manera fácil de hacerlo. Podría escribir innumerables #if Debug o #if Release sentencias en todo el try/catch, pero eso no es lo que quiero hacer. ¿Hay alguna otra manera de lidiar con este problema?

+0

¿Por qué no se puede codificar con el manejo de excepciones existente? – JonH

+0

@ JonH - Presumiblemente hay una preocupación por el rendimiento. El manejo de excepciones es conveniente y versátil, pero tiene un precio. – Hardryv

Respuesta

16

(1) Abra Visual Studio con su proyecto
(2) Menú de depuración, Excepciones
(3) Para los tipos de excepción que le interesan marcar la casilla lanzado.

Esto hará que cada vez que se produzca una excepción de los tipos elegidos, saltará automáticamente. Cuando desee volver a la depuración regular, vuelva a la misma ventana de Excepciones y haga clic en "Restablecer todo" y volverá a la configuración predeterminada.

+0

El botón Buscar ... también es muy bueno incluso si se da una coincidencia de nombre parcial. –

+0

Acabo de tener el problema de que no tenía una columna de "Usuario no controlado". Éste me ayudó: http://stackoverflow.com/questions/4560497/exception-window-in-vs-net-2010-is-missing-the-user-unhandled-column – TweeZz

9

Puede configurar el depurador de Visual Studio para que se rompa cuando se lanza la excepción. Ver el menú Depurar -> Excepciones.

Para obtener información adicional:

How to: Break When an Exception is Thrown

1

en el menú de Depuración VisualStudio> Excepción Comprobar todos bajo la columna "Arrojado". De forma predeterminada, todos los elementos se verificarán en la columna "Usuario no administrado"

De esta forma, el depurador se romperá siempre que se produzca la excepción.

Nota: esto no va a ser parte de la propiedad del proyecto

+0

Acabo de tener el problema que no hice No tiene una columna de "Usuario no gestionado". Éste me ayudó: http://stackoverflow.com/questions/4560497/exception-window-in-vs-net-2010-is-missing-the-user-unhandled-column – TweeZz

0

en el editor de VS se puede establecer sin poner los braekpoints del tipo de excepciones, los codebreaks - usted puede configurarlo usando el menú de depuración -> excepción esto te permitirá hacer lo que quieras.

1

Depuración> Excepciones (Ctrl + Alt + E), marque Lanzado en Common Language Runtime Exceptions para arrojar todas las excepciones, o seleccione las excepciones que desee manualmente con Find all. Cuando hayas terminado de depurar, toca Restablecer todo para volver a la configuración predeterminada.

Cuestiones relacionadas