http://www.perlmonks.org?node_id=466023


in reply to Error handling - how much/where/how?

in addition to what salva and Ultra stated:
- you might want to take a look at Carp.pm
- there's a CORE function named caller.
- you can install hooks for every signal, even $SIG{__DIE__}.

e.g.:
local $SIG{__DIE__} = sub { my $i = -1; while (my @c= caller(++$i)) { print " at $c[1] line $[2]\n"; } };

language is a virus from outer space.

Replies are listed 'Best First'.
Re^2: Error handling - how much/where/how? (a plug for Devel::SimpleTrace)
by grinder (Bishop) on Jun 14, 2005 at 07:50 UTC

    I used to hand-roll similar stuff, badly. These days I have learnt to become Lazy, and I now use Devel::SimpleTrace. That's usually good enough for me to figure out the course of events when Things Go Wrong.

    - another intruder with the mooring in the heart of the Perl

      another way is to use Carp::croak to report errors and then use...
      perl -MCarp=verbose foo.pl
      to get stack traces.