Как сделать обработку ошибок в веб-приложении, написанном на Perl (CGI.pm)? - PullRequest
1 голос
/ 13 декабря 2010

Когда я пишу / поддерживаю веб-приложение, написанное на Perl с использованием CGI.pm, как я должен обрабатывать ошибки (исключения)? Рассматриваемое веб-приложение может быть развернуто как простое приложение CGI, как приложение FastCGI (с использованием CGI :: Fast) и как приложение mod_perl с использованием обработчика ModPerl :: Registry.

Я имею в виду обработку ошибок, таких как страница не найдена, или конфигурация запрещает данное действие, или какая-то внешняя команда, используемая в приложении, не выполнена (например, не удается подключиться к базе данных).


Редактировать: добавлено 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 голосов
/ 13 декабря 2010

Передайте соответствующий код состояния методу заголовка согласно Создание стандартного заголовка HTTP

...