Contents
Today's Questions
Expect the Unexpected
Catching Exceptions with eval
One Gothca with Fatal.pm
One Subtlety with die (and warn)
A Database Example
Die Doesn't Just Accept Strings
Generating A Stacktrace with Carp.pm
Exception Objects
Using Exception::Class
Exception Objects
Ensure all exceptions are objects
Why?
Why? 4. It's easier than the alternative
Why? 3. Separation of concerns
Why? 2. Exception Handling is Fast
Why? 1. Exceptions are hard to ignore
The End