I used to return negative error codes from Mail::Sender's methods, but this leads to strange looking code. It's kinda hard to distinguish errors from valid responses. And I doubt anyone used the code returned anyway.
I'd say either return; in case of errors and set some $obj->{error} or die($with_message). And if the method doesn't need to return any value (if it's a command, not a "question") return the object itself. So that the users may stack the commands like this:
$obj->cmd1(params) ->cmd2(params) ->cmd3(params;
Though this only works well if you die() on errors. Anyway you may leave the decision on the user. Current version of Mail::Sender let's you specify which style of error reporting to use:
Whatever you choose DOCUMENT DOCUMENT DOCUMENT. Error handling is usualy the worst documented feature of modules.$sender = new Mail::Sender { ..., on_errors => 'die', }
Jenda
Always code as if the guy who ends up maintaining your code
will be a violent psychopath who knows where you live.
-- Rick Osborne
Edit by castaway: Closed small tag in signature
In reply to Re: How to say 'oops' in OOPs?
by Jenda
in thread How to say 'oops' in OOPs?
by Willard B. Trophy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |