X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=5f6d50ba248ceb71e73c4bfb39752a18534d78cf;hb=d10c3e60742117af15697a420e0cb37850bba8d7;hp=fa7ca6ae714f311e92bb1c9c6d0beeab0d2b9b50;hpb=775878acfe0ae20a31872d7288f6e817144c37ac;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index fa7ca6a..5f6d50b 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -592,7 +592,9 @@ EOF { no strict 'refs'; - @plugins = grep { /^Catalyst::Plugin/ } @{"$class\::ISA"}; + @plugins = + map { $_ . ' ' . ( $_->VERSION || '' ) } + grep { /^Catalyst::Plugin/ } @{"$class\::ISA"}; } if (@plugins) { @@ -923,6 +925,7 @@ sub execute { push @{ $c->{stats} }, [ $action, sprintf( '%fs', $elapsed ) ]; } } + my $last = ${ $c->stack }[-1]; pop( @{ $c->stack } ); if ( my $error = $@ ) { @@ -931,7 +934,9 @@ sub execute { else { unless ( ref $error ) { chomp $error; - $error = qq/Caught exception "$error"/; + my $class = $last->class; + my $name = $last->name; + $error = qq/Caught exception in $class->$name "$error"/; } $c->error($error); $c->state(0);