Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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 avoiding work at the Monastery: (6)
As of 2017-12-12 23:09 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (340 votes). Check out past polls.