in reply to Opinions of Error.pm
I use Exception::Class to build exception hierarchies and Exception::Class::TCF for try/catch functionality. If a standard die is called inside a try block, Exception::Class::TCF turns it into an exception object (of class 'Default') through some clever jiggery-pokery. Might be what you're looking for.
In Section
Seekers of Perl Wisdom