I wondering if anyone has adopted a consistent approach
to handling ( and generating ) exceptions in perl, including supplying explanatory text about the exception
or failure.
I've seen:
subs that return 0 or undef on failure
subs that die(), expecting the caller
to wrap them in an eval block to catch failures, and
use $@ to get the error text.
subs that know the errors are OS related and
thus set $! or $^E.
subs that put error explanations into globals
subs that call warn(), and expect the caller
to muck with $SIG{__WARN__} to get context
about the error
use Carp;
etc, etc
I've read perldoc perlvar, and the "Error Indicators" section, as well as the Carp docs, and $SIG{__WARN|DIE__} areas of perlipc.
Does anyone have any thoughts on how I should approach
passing error conditions and return values around in
my own code ?