Colleague asked me for general advice/arguments for exception handling with Try::Tiny .
Policy so far was to return complicated error codes in a C style.
Told him that I'm not aware of a general best approach, while I like catching errors, there are too many different use cases.
For instance one of my styles for handling simple routines is to write
sub complicated_flow { ... my ($res1,$res2, ...) = routine() or return; # ERROR skips rest ... } sub routine { … return if (ERROR); ... return 1,2,3; }
Please note that because of the list assignment (@result) = on the LHS the or will only fire in case of a blank return. (the list assignment returns the number of assigned values and 0 is false)
This doesn't exclude catching internal errors with try/catch aka eval BLOCK but is more concise for simple cases and follows the " open ... or ERROR " modell.
Are there best practices listing the cases where throwing an error message via die is more appropriate?
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
FootballPerl is like chess, only without the dice
In reply to Error codes vs die exceptions vs ... by LanX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |