Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio ignore try catch - debug only

I think error handling is a good idea. :) When debugging it can get in the way - especially with nice user friendly messages. In VB6 I could just check a box for the compiler to ignore my error handling. I found the dialog that allows me to do something similar in VS, but it's about 10,000 check boxes instead of one - which is too many to change every time I want a production compilation.

Is there a way to set VS up so when I am in debugging mode I get one set of conditions and when I am in production I get another? ...or is there just another method to handling errors and debugging more efficiently?

Thanks

like image 517
Praesagus Avatar asked Mar 11 '10 17:03

Praesagus


2 Answers

Try the Debug Menu and look at Exceptions. You can set it to automatically break when an exception is thrown.

like image 79
Robert Davis Avatar answered Nov 15 '22 10:11

Robert Davis


In code, I'd probably just do something like:

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

Or. more generally and with less #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);
}

Or, general purpose (like the Exception Handling library from P&P):

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

But, if your real problem is just the Visual Studio GUI - just use a macro.

like image 37
Mark Brackett Avatar answered Nov 15 '22 10:11

Mark Brackett