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