Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MicroMason::CatchErrorUser Contributed Perl DocumentMicroMason::CatchErrors(3)

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

       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 evalute

	 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' );

       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 interupt 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
	     $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.

	     $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.

       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.

perl v5.32.1			  2007-01-29	    MicroMason::CatchErrors(3)


Want to link to this manual page? Use this URL:

home | help