No::Worries::Die(3) User Contributed Perl Documentation No::Worries::Die(3)NAMENo::Worries::Die - error handling without worries
SYNOPSIS
use No::Worries::Die qw(dief handler);
open($fh, "<", $path) or dief("cannot open(%s): %s", $path, $!);
... not reached in case of failure ...
$ ./myprog
myprog: cannot open(foo): No such file or directory
$ NO_WORRIES=confess ./myprog
myprog: cannot open(foo): No such file or directory at myprog line 16
main::test() called at ./myprog line 19
DESCRIPTION
This module eases error handling by providing a convenient wrapper
around die() with sprintf()-like API. dief() is to die() what printf()
is to print() with, in addition, the trimming of leading and trailing
spaces.
It also provides a handler for die() that prepends a prefix
($No::Worries::Die::Prefix) to all errors. It also uses the NO_WORRIES
environment variable to find out if Carp's croak() or confess() should
be used instead of die(). Finally, the wrapper can be told to also log
errors to syslog (see $No::Worries::Die::Syslog).
This handler can be installed simply by importing it:
use No::Worries::Die qw(dief handler);
Alternatively, it can be installed "manually":
use No::Worries::Dieqw(dief);
$SIG{__DIE__} = \&No::Worries::Die::handler;
FUNCTIONS
This module provides the following functions (none of them being
exported by default):
dief(MESSAGE)
report an error described by the given MESSAGE
dief(FORMAT, ARGUMENTS...)
idem but with sprintf()-like API
handler(MESSAGE)
$SIG{__DIE__} compatible error handler (this function cannot be
imported)
GLOBAL VARIABLES
This module uses the following global variables (none of them being
exported):
$Prefix
prefix to prepend to all errors (default: the program name)
$Syslog
true if errors should also be sent to syslog using
No::Worries::Syslog's syslog_error() (default: false)
ENVIRONMENT VARIABLES
This module uses the "NO_WORRIES" environment variable to find out how
errors will be reported. Supported values are:
"croak"
Carp's croak() will be used instead of die()
"confess"
Carp's confess() will be used instead of die()SEE ALSO
Carp, No::Worries, No::Worries::Syslog, No::Worries::Warn.
AUTHOR
Lionel Cons <http://cern.ch/lionel.cons>
Copyright CERN 2012
perl v5.14.3 2012-12-19 No::Worries::Die(3)