vscode visual studio instalar español color code autocompletar visual-studio exception debugging

visual-studio - instalar - visual studio code autocomplete html



Visual Studio: ¿cómo romper las excepciones manejadas? (7)

Me gustaría que Visual Studio se rompa cuando ocurre una excepción manejada (es decir, no solo quiero ver un mensaje de "Primera oportunidad", sino que quiero depurar la excepción real).

por ejemplo, quiero que el depurador se rompa en la excepción:

try { System.IO.File.Delete(someFilename); } catch (Exception) { //we really don''t care at runtime if the file couldn''t be deleted }

Encontré these notas para Visual Studio.NET:

1) En VS.NET vaya al Menú de depuración >> "Excepciones ..." >> "Excepciones comunes de tiempo de ejecución de idioma" >> "Sistema" y seleccione "System.NullReferenceException"

2) En la parte inferior de ese cuadro de diálogo hay un cuadro de grupo "Cuando se arroja la excepción:", seleccione "Interrumpir el depurador"

3) Ejecuta tu escenario. Cuando se lanza la excepción, el depurador se detendrá y le notificará con un cuadro de diálogo que diga algo así como: "Se ha lanzado una excepción de tipo" System.NullReferenceException ". [Salto] [Continuar]"

Hit [Break]. Esto lo pondrá en la línea de código que está causando el problema.

Pero no se aplican a Visual Studio 2005 (no hay ninguna opción de Excepciones en el menú Depurar ).

¿Alguien sabe dónde encontrar el cuadro de diálogo de opciones en Visual Studio que el cuadro de grupo " Cuando se arroja la excepción ", con la opción de " Entrar en el depurador "?

Actualización: el problema era que mi menú de depuración no tenía un elemento de excepciones . Personalicé el menú para agregarlo manualmente.


Con una solución abierta, vaya a la opción de menú Depurar - Excepciones ( Ctrl + D , E ). Desde allí, puede optar por romper las excepciones lanzadas o no controladas por el usuario.

EDITAR: ¿Mi instancia está configurada con el "perfil" C # quizás no esté allí para otros perfiles?


Desde Visual Studio 2015 en adelante, debe dirigirse al cuadro de diálogo "Configuración de excepciones" ( Ctrl + Alt + E ) y marcar las "Excepciones de Common Language Runtime" (o una específica que desee, es decir, ArgumentNullException) para que funcione. manejó excepciones.

Paso 1 Paso 2


Hay una ventana de ''excepciones'' en VS2005 ... intente Ctrl + Alt + E al depurar y haga clic en la casilla ''Lanzada'' para la excepción en la que desea detenerse.


La documentación en línea parece un poco confusa, así que solo realicé una pequeña prueba. Si elige interrumpir el lanzamiento desde el cuadro de diálogo Excepciones, la ejecución del programa se romperá en cualquier excepción, se manejará o no se manejará. Si desea romper con las excepciones manejadas solo, parece que su único recurso es revisar su código y poner puntos de corte en todas las excepciones manejadas. Esto parece un poco excesivo, por lo que podría ser mejor agregar una instrucción de depuración siempre que maneje una excepción. Luego, cuando vea esa salida, puede establecer un punto de interrupción en esa línea del código.


Me tomó un tiempo encontrar el nuevo lugar para la configuración de la experiencia, por lo tanto, una nueva respuesta.

Desde Visual Studio 2015 usted controla qué Excepciones detener en la Ventana de Configuraciones de Excepción (Depurar-> Windows-> Configuración de Excepción).

La forma más sencilla de manejar excepciones personalizadas es seleccionar "todas las excepciones que no estén en esta lista".


Una técnica que uso es algo como lo siguiente. Defina una variable global que puede usar para uno o varios bloques de captura de prueba según lo que intente depurar y utilice la siguiente estructura:

if(!GlobalTestingBool) { try { SomeErrorProneMethod(); } catch (...) { // ... Error handling ... } } else { SomeErrorProneMethod(); }

Encuentro que esto me da un poco más de flexibilidad en términos de prueba porque todavía hay algunas excepciones que no quiero que rompa con el IDE.


Verifique esto en msdn, explica cómo configurar esto.

Esencialmente, aquí están los pasos (durante la depuración):

  1. En el menú Depurar, haz clic en Excepciones.

  2. En el cuadro de diálogo Excepciones, seleccione Lanzado para una categoría completa de excepciones, por ejemplo, Excepciones de Common Language Runtime.

    -o-

    Expanda el nodo para una categoría de excepciones, por ejemplo, Common Language Runtime Exceptions, y seleccione Throw para una excepción específica dentro de esa categoría.