Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Best way to replace 'die' with 'warn'

by bv (Friar)
on Dec 05, 2009 at 22:59 UTC ( #811302=note: print w/replies, xml ) Need Help??

in reply to Best way to replace 'die' with 'warn'

Perhaps someone more knowledgeable could clarify, but perlmod seems to indicate that you can set the %SIG hash as a package variable, so you could do something like this:

use Weather::Com; $Weather::Com::SIG{__DIE__} = sub { warn(@_) };

I think that would cover every call to die() from within the Weather::Com package. Inspection of @_ within your new handler could let it die if something was really a big problem.

@_=qw; Just another Perl hacker,; ;$_=q=print "@_"= and eval;

Replies are listed 'Best First'.
Re^2: Best way to replace 'die' with 'warn'
by puterboy (Scribe) on Dec 06, 2009 at 05:36 UTC
    That works nicely!

    Though I still have to wrap each function call with an eval...

    I still hope that a seasoned "monk" could verify that other than changing the behavior of die, the addition of the 'eval' command won't change the behavior of anything else. Or if it does, then help me understand what other side effects adding 'eval' could have

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://811302]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2020-02-23 01:55 GMT
Find Nodes?
    Voting Booth?
    What numbers are you going to focus on primarily in 2020?

    Results (102 votes). Check out past polls.