NAME
Exception::Warning - Convert simple warn into real exception object
SYNOPSIS
# Convert warn into exception and throw it immediately
use Exception::Warning '%SIG' => 'die';
eval { warn "Boom!"; };
print ref $@; # "Exception::Warning"
print $@->warning; # "Boom!"
# Convert warn into exception without die
use Exception::Warning '%SIG' => 'warn', verbosity => 4;
warn "Boom!"; # dumps full stack trace
# Can be used in local scope only
use Exception::Warning;
{
local $SIG{__WARN__} = \&Exception::Warning::__WARN__;
warn "Boom!"; # warn via exception
}
warn "Boom!"; # standard warn
# Run Perl with verbose warnings
$ perl -MException::Warning=%SIG,warn,verbosity=>3 script.pl
# Run Perl which dies on first warning
$ perl -MException::Warning=%SIG,die,verbosity=>3 script.pl
# Run Perl which ignores any warnings
$ perl -MException::Warning=%SIG,warn,verbosity=>0 script.pl
# Debugging with increased verbosity
$ perl -MException::Warning=:debug script.pl
DESCRIPTION
This class extends standard Exception::Base and converts warning into
real exception object. The warning message is stored in *warning*
attribute.
AUTHOR
Piotr Roszatycki <
[email protected]>
LICENSE
Copyright (C) 2008, 2009 by Piotr Roszatycki <
[email protected]>.
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