¿Pero dónde $%&Qñ&$ se ha producido la excepción?

Existe un truco bastante simple y útil que nos permite saber en que momento exacto se está producciendo una excepción. Me sorprende que sea desconocido por un motón de desarrolladores con los que me cruzo.

Se trata de usar la capacidad del depurador de Visual Studio para que el depurador para la ejecución cuando se produce una excepción de un tipo o tipos determinados (o de cualquier tipo si así lo queremos).

Para ello basta con utilizar el dialogo Exceptions (Excepciones) al que se puede acceder mediante la combinación de teclas Crtl + Alt + E.

Exceptions Dialog

Este cuadro de dialogo nos permite seleccionar que excepciones queremos que paren la ejecución de nuestro programa (lógimente si se ejecuta bajo el depurador) cuando se producen. El comportamiento por defecto es que el depurador solo salte cuando se detecta que la excepción no ha sido manejada, no el momento en que la excepción se ha producido.

En el cuadro de diálogo por defecto aparecen las excepciones de .Net Framework y de C++ habituales, pero podemos añadir nuestros propios tipos de excepciones como podéis ver en el siguiente diálogo que aparece pulsando en el botón Add… (Añadir…)

Add custom exception type

Espero que os sea útil ese pequeño truquito.

8 comentarios sobre “¿Pero dónde $%&Qñ&$ se ha producido la excepción?”

  1. Es imposible conocerse de pé a pá todas las ventanitas del Visual Studio…

    Es más, a veces pienso que el Visual Studio se conecta automáticamente a Internet y se descarga e instala plugins y «ventanitas malignas» como la que nos muestras, todo…»de forma totalmente transparente pare el usuario» 😉

    SaludoX.

  2. jejeje ¿¿ ventanas malignas ?? pero si el Ctrl+Alt+E está disponible desde Visual Studio .Net !!! y como bien dice Rodrigo es uno de los indispensables para el día a día del programador.

    Otro shortcut que es muy util, Alt+Shift+F10; ya verás como en ocasiones te ahorra varios clicks 😀

  3. lonifasiko, se llega fácil e intuitivamente por el menú principal a través de Debug->Exceptions.

    Totalmente de acuerdo con Rodrigo, no es muy conocido y ayuda en muchos casos, sólo añadiría que estas excepciones se denominan «First Chance Exceptions».

  4. El principal problema de las ventanas de Visual Studio, y en concreto esta que comenta Rodrigo, es que siendo una de las más útiles para un desarrollador, dando igual el lenguaje/tecnología, es que dependiendo del perfil escogido puede aparecer o no en el menú «Depurar». Además, creo recordar que los accesos por teclado también dependen de dicho perfil.

    Pero todo tiene solución. Cuando me encuentro que alguien no tiene esa opción en el menú «Depurar», se la añado yo directamente. Para añadir esas opciones «ocultas», basta con ir al menú «Herramientas», seleccionar «Personalizar…», y en la ventana que aparece, buscar la opción en la categoría «Depurar», y arrastrarla al menú correspondiente (o a una barra de herramientas).

    En esta ventana están disponibles todas las opciones de Visual Studio, independientemente del perfil. Así que puede ser muy util para crearse una barra de herramientas personalizada con las opciones que utilicemos más habitualmente.

    Aupa Rodrigo!

  5. Excelente puntualización Augusto. Es cierto lo que dices de los perfiles, que lía un poco el asunto… yo por eso prefiero simplemente recordar la combinación de teclas.

    Gracias por la aportación titán!!!

  6. A ver…lo de las «ventanitas malignas autoinstalables» era una broma…tampoco soy tan zoquete como para no encontrarla.

    Bruno, resulta que soy bastante amigo de los shortcuts y utilizo bastante Alt+Shift+F10 y otras combinaciones varias, pero en concreto esa «ventana maligna» no la he utilizado en la vida…

    SaludoX.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *