Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Redirect Catalyst Grey Page to Customized Error Page

by phildeman (Beadle)
on Feb 06, 2014 at 20:52 UTC ( #1073764=perlquestion: print w/replies, xml ) Need Help??
phildeman has asked for the wisdom of the Perl Monks concerning the following question:

Please bare with me, I am new to Catalyst.

Whenever, I get an error pertaining to a view, I get a grey page that says, "Please come back later" in a dozen languages. I would like to by pass this page and send it to a customized error page, with my own response to the user".

I have checked Catalyst::Manual::Cookbook, and used their example:

sub end : Private {
    my ( $self, $c ) = @_;

    if ( scalar @{ $c->error } ) {
        $c->stash->{errors} = $c->error;
#         for my $error ( @{ $c->error } ) {
#         $c->log->error($error);
#         }
        $c->stash->{template} = '';

    return 1 if $c->response->status =~ /^3\d\d$/;
        return 1 if $c->response->body;

    unless ( $c->response->content_type ) {
        $c->response->content_type('text/html; charset=utf-8');


This sample code does render views correctly, but the page with the error still renders the grey page with, "Please come back later"

So, am I doing anything wrong?
Do I need to include any other package?
Is there an easier/better way of capturing the view error and redirecting it to a customize error page?

Please note, the template in my actual code points to an different file name, and I have the forward method point to my application View directory.
  • Comment on Redirect Catalyst Grey Page to Customized Error Page

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1073764]
Approved by boftx
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2019-01-20 06:31 GMT
Find Nodes?
    Voting Booth?
    After Perl5, I'm mostly interested in:

    Results (345 votes). Check out past polls.