[Dancer-users] Dancer2 - feature change request

Assaf Gordon gordon at cshl.edu
Fri Oct 21 21:18:19 CEST 2011

Richard Huxton wrote, On 10/21/11 05:55:
> Since dancer2 is on the way, I thought I'd be cheeky and suggest a slight change in functionality (rather than wait until dancer3). Does anyone (particularly core devs of course) have any strong opinions on the following?
While we're at the topic of Dancer2 requests...

Would it be possible to make "croak" work properly from within Dancer2 ?
At the moment, "croak" will show a stack-call coming from "Route.pm", and I would like to be able to have it point to my actual routing function (if that's somehow possible with un-named code refs and such).

Simple contrived example:
sub foobar
	croak "Something bad happened...";

get '/login' => sub {

The croaked messages appears from:
Something bad happened... at /usr/local/share/perl/5.12.4/Dancer/Route.pm line 240

And the stack-track is:
main in ./bin/app.pl l. 4
Dancer in /usr/local/share/perl/5.12.4/Dancer.pm l. 367
Dancer::Handler in /usr/local/share/perl/5.12.4/Dancer/Handler.pm l. 188
Dancer::Handler::Standalone in /usr/local/share/perl/5.12.4/Dancer/Handler/Standalone.pm l. 36
HTTP::Server::Simple in /usr/local/share/perl/5.12.4/HTTP/Server/Simple.pm l. 271
HTTP::Server::Simple in /usr/local/share/perl/5.12.4/HTTP/Server/Simple.pm l. 307
HTTP::Server::Simple in /usr/local/share/perl/5.12.4/HTTP/Server/Simple.pm l. 402
HTTP::Server::Simple::PSGI in /usr/local/share/perl/5.12.4/HTTP/Server/Simple/PSGI.pm l. 103
HTTP::Server::Simple::PSGI in /usr/local/share/perl/5.12.4/HTTP/Server/Simple/PSGI.pm l. 103
Dancer::Handler in /usr/local/share/perl/5.12.4/Dancer/Handler.pm l. 111
Dancer::Handler in /usr/local/share/perl/5.12.4/Dancer/Handler.pm l. 72
Dancer::Handler in /usr/local/share/perl/5.12.4/Dancer/Handler.pm l. 93
Dancer::Object in /usr/local/share/perl/5.12.4/Dancer/Object.pm l. 15
Dancer::Error in /usr/local/share/perl/5.12.4/Dancer/Error.pm l. 36
Dancer::Error in /usr/local/share/perl/5.12.4/Dancer/Error.pm l. 254
Which makes it hard to debug...

So currently, all my subs use "die" instead of "croak", but this doesn't seem right (and also doesn't work with 3rd-party code that uses croak).

Comments are welcomed,

More information about the Dancer-users mailing list