You should use what you think is best. Probably the most
common methods are: returning a special value (undefined,
0, empty string, empty list, -1, MAX_INT) or performing
a
die. I fancy the latter, but I use the former
often as well. The former has two drawbacks: you can't return
a value that indicates "error" if there's no error, and you
either have to reserve an range of special values, or you
can't signal what went wrong, other than scribbling the reason
away somewhere (compare
open returning false,
and using
$! to indicate the reason).
Throwing an exception (die) doesn't suffer from
this. You don't "lose" possible return values, and you can
do the "return" and reason all at once, just die
with a reason. The caller still needs to do two things,
using eval and checking $@, but
the caller already needed to do two things.
But please use whatever you are most comfortable with.
And that might vary from project to project. Or even from
method to method.
Abigail
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.