Rob Bagby continued his outstanding presentations with not just an overview of the Exception Handling Block, but a full-blown strategy for handling exceptions. Rob had 5 goals for the session which I have paraphrased below:
- Understand when and why to catch an exception
- To Recover from the error (or attempt to)
- To Add Context
- To Clean up (close connections, etc)
- To Log or Notify
- To hide the details of an exception
- Understand the categories of exceptions
- Business
- Technical
- Security
- Understand what is truly an exception
- Don't use exceptions for flow-control
- Understand Exception Propogation Options
- Automatic Propogation (bubbling)
- Catch & Rethrow
- Clean
- Resolve
- Log
- Catch, Wrap & Throw Wrapped
- Understand Custom Exceptions and When to Use Them
- when an appropriate exception doesn't already exist
- To add discreet handling
- To add a specific behavior or information
Rob went into quite a few specifics on exactly how this information could be utilized which is in the slide decks that I will link to asap.
This session got my vote as the most useful session of the day. Thanks Rob!