|Perl Monk, Perl Meditation|
Re: Use of "die" in OO modulesby imp (Priest)
|on Jan 18, 2007 at 19:17 UTC||Need Help??|
Code should fail as early as possible to avoid collateral damage, and to help identify the source of a problem. Using special return values will clutter the code with assertions, which decreases readability and increases the chance that you will miss an exceptional condition.
It is also difficult to come up with a consistent failure convention. Using undef is a bad idea as it is true in list context (any value is), and some functions will return undef as a valid response. -1 is less appropriate. You could bless an error object and return that, but that strikes me as an ugly solution.