NAME
Log::Report::Die - compatibility routines with Perl's die/croak/confess
INHERITANCE
Log::Report::Die
is a Exporter
Functions
- die_decode(STRING)
-
The STRING is the content of
$@
after an eval() caught a die(). croak(), or confess(). This routine tries to convert this into parameters for Log::Report::report(). This is done in a very smart way, even trying to find the stringifications of$!
.Return are four elements: the error string which is used to trigger a
Log::Report
compatibledie()
, and the options, reason, and text message. The options is a HASH which, amongst other things, may contain a stack trace and location.Translated components will have exception classes
perl
, anddie
orconfess
. On the moment, thecroak
cannot be distiguished from theconfess
(when used in package main) ordie
(otherwise).The returned reason depends on whether the translation of the current
$!
is found in the STRING, and the presence of a stack trace. The following table is used:errstr stack => reason no no ERROR (die) application internal problem yes no FAULT (die) external problem, think open() no yes PANIC (confess) implementation error yes yes ALERT (confess) external problem, caught = @{$opt{stack}} ? ($opt{errno} ? 'ALERT' : 'PANIC') : ($opt{errno} ? 'FAULT' : 'ERROR');
SEE ALSO
This module is part of Log-Report distribution version 0.91, built on January 26, 2011. Website: http://perl.overmeer.net/log-report/
LICENSE
Copyrights 2007-2011 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html