Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Style Point: Catching eval { } errors

by diotalevi (Canon)
on Nov 24, 2003 at 21:23 UTC ( #309696=note: print w/replies, xml ) Need Help??

in reply to Style Point: Catching eval { } errors

Even better, don't depend on $@.

eval { # Do stuff 1; } or do { # Handle errors };

I commonly write this to bring in $@ without being obfuscatory.

eval { ... ; 1} or die "Barfoo ... $@";

Replies are listed 'Best First'.
Re: Re: Style Point: Catching eval { } errors
by DapperDan (Pilgrim) on Nov 25, 2003 at 19:24 UTC
    I don't remember seeing any reference to this in the documentation for eval. If their were I would have used it.

    Perhaps it should be there? It seems to me that eval {} or do {} is the perfect idiom for using eval with exceptions.

      perldoc -q eval
      In both forms (eval EXPR / eval BLOCK), the value returned is the value of the last expression evaluated inside the mini-program; a return statement may be also used, just as with subroutines. The expression providing the return value is evaluated in void, scalar, or list context, depending on the context of the eval itself. See "wantarray" for more on how the evaluation context can be determined.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://309696]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2017-06-27 02:26 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (598 votes). Check out past polls.