The requirements post for my Reference Application ended up being way too long --- so where to start? I chose to go with exception management. I fully anticipate making lots of errors, so a robust error handling scheme will have a big payback.
I have read extensively and am including some of the links below. My code will follow in a later entry as I complete it and smooth its look. It will include dummy links to a logging framework, unhandled exception handler, enhanced exception display form, enhanced assertion display form, custom exception base class, and other features. As always, comments will be welcome.
The first three links below constitute just about the best material you can get on this subject. If you have never read Chris Brumme's blog, you need to. It has some of the highest density material around. Highly recommended.
- MSJ, Matt Pietrek: A Crash Course in Structured Exception Handling
- MSDN Mag, Matt Pietrek: Under the Hood - New Vectored Exception Handling in Windows XP
- Blog, Chris Brumme: The Exception Model
- PAG, MSDN, Exception Management Architecture Guide [article only]
- PAG, MSDN, Exception Management Application Block for .NET [article only]
- Cat Francis, MSDN, Introduction to Exception Handling in Visual Basic .NET [article only]
- Eric Gunnerson, MSDN, Writing Exceptional Code [article only]
- Eric Gunnerson, MSDN, The Well-Tempered Exception [article and code: exception.exe]
- MSDN Library, .NET Framework Class Library, Exception Class
- MSDN Library, .NET Framework SDK, .NET Framework Developer's Guide, Handling and Throwing Exceptions, with the following subsections:
- Jesse Liberty, MSDN Magazine, December 2002, .NET Exceptions: Make the Transition from Traditional Visual Basic Error Handling to the Object-Oriented Model in .NET [article only]
- Wesner Moise, Assert Enhancements [article and code, assert_src.zip]
- Kevin McFarlane, Code Project, Managing Unhandled Exceptions in .NET [article and code]
- Marc Clifton, Code Project, A Treatise on Using Debug and Trace classes, including Exception Handling [article and code, DebugTreatise_src.zip]
Update: I cannot believe I forgot the basic source I am using for my new exception form. I really like Jason's form layout and his article explains things well. Kathleen has an interesting technique to add XML comments the developer can maintain.