开发者

How to do error handling in web application written in Perl (CGI.pm)?

When writing / maintaining web application written in Perl using CGI.pm, how should I handle errors (exceptions)? Webapp in question can be deployed as plain CGI app, as FastCGI app (using CGI::Fast), and as mod_perl app using ModPerl::Registry handler.

I mean here handling errors like page not found, or configuration forbids given action, or some external command used in the app failed (like e.g. cannot connect to the database).


Edit: added 2010-12-14.

The example code flow could look like this:

sub run {

    ...
    run_request();
    ...

}

sub run_request {

    ...
    $actions{$cgi->param('a')}->();
    ...

}

sub action_foo {

    foo_body()

}

sub foo_body {

    check_something()
        or handle_error(some description);

}

I mean here that error might have be to be thrown / handled in some nested call, and not only in the action handler / 开发者_运维问答route handler.


Pass the appropriate status code to the header method as per Creating A Standard HTTP Header

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜