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 ?
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|