[Catalyst] error handling

Angel Kolev ankolev at gmail.com
Mon Dec 10 14:44:48 GMT 2007


sub auto : Private {
    my ($self, $c) = @_;
    if (@{$c->error}) {
        $c->stash->{error} = " Critical ERROR!! Probably missing data in 
database.";
        $c->forward('/error');
        $c->error(0);
        return 0;
    }
}

This dont work. @{$c->error} or scalar @{$c->error} always print 0 in my 
debug screen.

Felix Antonius Wilhelm Ostmann wrote:
> $c->error is a arrayref or not?
>
> So you must do this:
>
> if( @{$c->error} ) {
> ...
> }
>
> Angel Kolev schrieb:
>> Hi,all. Can anyone eplain me a bit about error handling. Where i can 
>> catch it and when? I use this:
>>
>> MyApp::C::MyController
>>
>> sub auto : Private {
>>    my ($self, $c) = @_;
>>    if ($c->error) {
>>        $c->stash->{error} = " Critical ERROR!! ";
>>        $c->forward('/error');
>>        $c->error(0);
>>        return 0;
>>    }
>>
>> }
>>
>> This works but then all my subs in this controller are redirected to 
>> /error.
>>
>> _______________________________________________
>> List: Catalyst at lists.scsys.co.uk
>> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>> Searchable archive: 
>> http://www.mail-archive.com/catalyst@lists.rawmode.org/
>> Dev site: http://dev.catalyst.perl.org/
>>
>>
>
>




More information about the Catalyst mailing list