 <p>BTW, Microsoft no longer recommends that you derive from <code>ApplicationException</code>. Derive directly from <code>Exception</code>, instead.</p> <p>Also, in your logging, be certain to log the entire exception. Use ex.ToString(), not ex.Message, etc. This will guarantee you see everything the exception class wants you to see, including all inner exceptions.</p>