Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^3: Capturing stack trace in eval

by Joost (Canon)
on Oct 07, 2009 at 21:31 UTC ( #799824=note: print w/replies, xml ) Need Help??

in reply to Re^2: Capturing stack trace in eval
in thread Capturing stack trace in eval

Actually, I might have been mistaken about my SIG{__DIE__} assertion - I mean that using __DIE__ instead of overriding CORE::GLOBAL::die might indeed be the best way of dealing with it.

As I said I don't have the code with me at the moment - last time I looked at that specific bit of code was a couple of months ago and I switched implementations a few times.

In any case, the end result turned out that throwing an exception object that encapsulates the stack trace from whatever means you use to intercept the error was the only reasonable way of dealing with the problem when you also have to deal with eval (both versions).

Update: the way I implemented it, was that the exception object overloaded stringification so that the stack trace is printed if the exception isn't eventually caught.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2016-10-25 06:16 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (315 votes). Check out past polls.