【问题标题】:How to do error handling in web application written in Perl (CGI.pm)?如何在用 Perl (CGI.pm) 编写的 Web 应用程序中进行错误处理?
【发布时间】:2010-12-13 09:06:57
【问题描述】:

在使用 CGI.pm 编写/维护用 Perl 编写的 Web 应用程序时,我应该如何处理错误(异常)?有问题的 Web 应用可以部署为普通 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);

}

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

【问题讨论】:

  • 我一直很喜欢 CGI::Prototype 处理这类事情的方式。在流量控制的任何时候,您都可以有效地切换路由。一般来说,这是一个很难回答的问题,因为这是一个设计和架构问题,而且不同的框架对事情应该如何发生有不同的想法。也许你可以提出一个更狭隘的问题?
  • @casperOne - 当您(作为版主)删除其他答案时,请非常友好并以确切的理由对该答案添加评论。现在看起来你只是#Briandfoy 的追随者之一,因为他检查我的每一步(我不介意)。

标签: perl web-applications cgi


【解决方案1】:

根据Creating A Standard HTTP Header将适当的状态代码传递给标头方法

【讨论】:

  • 我知道如何正确生成错误页面。我关心的是代码流
猜你喜欢
  • 2012-02-18
  • 2010-10-26
  • 2011-09-30
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
相关资源
最近更新 更多