There’s a lot of good technique in a short article. I wont repeat it all here, just a taste…
Code Sample #3:
try {// code} catch (Exception e) {throw new ApplicationException(“Some useful message about what we’re doing: ” + e.Message);}Whoah again. We just lost a lot of information about the original exception, including its stack trace and any inner exceptions it contained and made our debugging lives a lot harder. I would recommend the following code instead:try {// code} catch (Exception e) {throw new ApplicationException(“Some useful message about what we’re doing”, e);}This code propagates the original exception as the innerException so that we can see the exact origin of the failure.Courtesy of [James Kovacs’ Weblog]