2010-03-11 33 views
5

Creo que el manejo de errores es una buena idea. :) Al depurar, puede ser un obstáculo, especialmente con buenos mensajes fáciles de usar. En VB6 podría simplemente marcar una casilla para que el compilador ignore mi manejo de errores. I found el cuadro de diálogo que me permite hacer algo similar en VS, pero son unas 10.000 casillas de verificación en lugar de una, lo cual es demasiado para cambiar cada vez que quiero una compilación de producción.Visual Studio ignorar try catch - solo depurar

¿Hay alguna manera de configurar VS VS así que cuando estoy en modo de depuración obtengo un conjunto de condiciones y cuando estoy en producción obtengo otro? ... o solo hay otro método para manejar los errores y la depuración de manera más eficiente?

Gracias

+0

Dupe: http://stackoverflow.com/questions/893277/is-there-a-better-way-to-get-visual-studio-to-ignore-try-catch-in-debug-mode –

Respuesta

1

Puede agregar este atributo a sus métodos:

[Conditional("DEBUG")] 

También puede utilizar #if #endif declaraciones si así lo desea.

+1

Eso es va a hacer un código * muy * feo; hay mejores formas de manejar esto en VS.Net. –

+0

+1 Acepto que el #if crea un código feo, el método de atributo no creo que lo haga, sin embargo, es limitante. –

3

Pruebe el menú Depurar y consulte Excepciones. Puede configurarlo para que se corte automáticamente cuando se lanza una excepción.

2

En el código, probablemente me acaba de hacer algo como:

#if !DEBUG 
    try { 
#endif 
     DoSomething(); 
#if !DEBUG 
    } catch (Exception ex) { 
     LogEx(ex); 
     throw new FriendlyException(ex); 
    } 
#endif 

O. de manera más general y con menos #if:

#if DEBUG 
    public const bool DEBUG = true; 
#else 
    public const bool DEBUG = false; 
#endif 

try { 
    DoSomething(); 
} catch (Exception ex) { 
    if (DEBUG) throw; 
    LogEx(ex); 
    throw new FriendlyException(ex); 
} 

O, de uso general (como el manejo de excepciones biblioteca de P & P):

bool HandleException(Exception ex) { 
    return !DEBUG; 
} 

Pero, si su verdadero problema es sólo el Estudio interfaz gráfica de usuario de Visual - just use a macro.