如何在用Perl(CGI.pm)编写的Web应用程序中进行错误处理?

时间:2010-12-13 09:06:57

标签: perl web-applications cgi

使用CGI.pm编写/维护用Perl编写的Web应用程序时,我应该如何处理错误(例外)?有问题的Webapp可以部署为普通的CGI应用程序,FastCGI应用程序(使用CGI :: Fast),以及使用ModPerl :: Registry处理程序的mod_perl应用程序。

我的意思是在这里处理错误,例如找不到页面,或者配置禁止给定操作,或者应用程序中使用的某些外部命令失败(例如无法连接到数据库)。


修改: 已添加2010-12-14

示例代码流可能如下所示:

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);

}

我的意思是在某些嵌套调用中可能会抛出/处理错误,而不仅仅是在动作处理程序/路由处理程序中。

1 个答案:

答案 0 :(得分:0)

根据Creating A Standard HTTP Header

将相应的状态代码传递给header方法