I would, except I can't quite predict where the error could happen, which
means I would have to eval the whole script, and being several thousands of
lines long, not including the modules I am loading, it really hurts
performance ;-)

Keary Suska
Esoteritech, Inc.
"Leveraging Open Source for a better Internet"

> From: David Iberri <[EMAIL PROTECTED]>
> Date: Wed, 24 Oct 2001 18:36:09 -0700
> To: Keary Suska <[EMAIL PROTECTED]>
> Cc: MacPerl List <[EMAIL PROTECTED]>
> Subject: Re: [MacPerl] Trapping run time errors
> 
>> Is there a way to trap runtime errors, and, say, output them to a log file
>> before perl dies?
> 
> Often something as simple as this will do the trick:
> 
> eval {
> ... # Some code that may call die()
> };
> 
> logmsg($@) if $@; # logmsg() is defined elsewhere to output
> # its argument to a log file.
> 
> Or you could define closures for $SIG{__WARN__} and/or $SIG{__DIE__} that
> get called when warn() or die() are called, respectively, e.g.:
> 
> local $SIG{__WARN__} = sub { logmsg(shift) };
> 
> HTH,
> 
> David
> 
>> Keary Suska
>> Esoteritech, Inc.
>> "Leveraging Open Source for a better Internet"
> 
> 

Reply via email to