Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Style Point: Catching eval { } errors

by Beechbone (Friar)
on Nov 27, 2003 at 03:21 UTC ( #310459=note: print w/replies, xml ) Need Help??

in reply to Style Point: Catching eval { } errors

I defined for our current project that exception handlers must be written as:
eval { # Do stuff }; if (my $e = $@) { # Handle any errors }
This brings the commonly used "e" into the game. I think this makes it more obvious what's happening here.

Ok, in this project it gets even easier:

eval { # Do stuff }; if (my $e = $@) { unless (UNIVERSAL::isa($e, 'Our::Project::Exception')) { $e = Our::Project::Exception::ThirdPartyError->new($e); } # Handle any errors }

Search, Ask, Know

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2016-12-10 12:23 GMT
Find Nodes?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:

    Results (162 votes). Check out past polls.