Provided by: libtext-micromason-perl_2.21-1_all bug

NAME

       Text::MicroMason::CatchErrors - Add Exception Catching for Templates

SYNOPSIS

       Instead of using this class directly, pass its name to be mixed in:

           use Text::MicroMason;
           my $mason = Text::MicroMason->new( -CatchErrors );

       Use the standard compile and execute methods to parse and evaluate templates:

         print scalar $mason->compile( text=>$template )->( @%args );
         print scalar $mason->execute( text=>$template, @args );

       Result is undef on exception, plus an error message if in list context:

         ($coderef, $error) = $mason->compile( text=>$template );
         ($result,  $error) = $mason->execute( text=>$template, 'name'=>'Dave' );

DESCRIPTION

       This package adds exception catching to MicroMason, allowing you to check an error
       variable rather than wrapping every call in an eval.

       Both compilation and run-time errors in your template are handled as fatal exceptions. The
       base MicroMason class will croak() if you attempt to compile or execute a template which
       contains a incorrect fragment of Perl syntax. Similarly, if the Perl code in your template
       causes die() or croak() to be called, this will interrupt your program unless caught by an
       eval block.

       This class provides that error catching behavior for the compile and execute methods.

       In a scalar context they return the result of the call, or undef if it failed; in a list
       context they return the results of the call (undef if it failed) followed by the error
       message (undef if it succeeded).

   Public Methods
       compile()
             $code_ref = $mason->compile( text => $template, %options );
             ($coderef, $error) = $mason->compile( text=>$template, %options );

           Uses an eval block to provide an exception catching wrapper for the compile method.

       execute()
             $result = $mason->execute( text => $template, @arguments );
             ($result,  $error) = $mason->execute( text=>$template, 'name'=>'Dave' );

           Uses an eval block to provide an exception catching wrapper for the execute method.

SEE ALSO

       For an overview of this templating framework, see Text::MicroMason.

       This is a mixin class intended for use with Text::MicroMason::Base.

       For distribution, installation, support, copyright and license information, see
       Text::MicroMason::Docs::ReadMe.