in reply to Best practices for handling exceptions in die/eval style
I always do things like this:
my $ok = eval { do_something(); 1 }; if (! $ok){ handle_exception(); # possibly use contents of $@ }
If I'm only doing one thing in the if block, I often will write it more compactly:
handle_exception() if ! $ok;
Sometimes I just want to croak with a separate message instead of the one generated by (perhaps not even) my code:
croak "damned module failed with a confusing error\n" if ! $ok;
These types of things are found all over my test suites. Here's one example from one of my CPAN distributions.
What this does, is if the function/method called inside the eval dies/croaks, eval returns undef. If it succeeds, it returns 1/true.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Best practices for handling exceptions in die/eval style
by krautcat (Acolyte) on Aug 29, 2018 at 22:05 UTC | |
by stevieb (Canon) on Aug 29, 2018 at 22:10 UTC | |
by krautcat (Acolyte) on Aug 29, 2018 at 22:22 UTC | |
by stevieb (Canon) on Aug 29, 2018 at 22:27 UTC | |
by krautcat (Acolyte) on Sep 05, 2018 at 22:36 UTC | |
by Anonymous Monk on Sep 06, 2018 at 00:46 UTC |