Lors de l'écriture/la maintenance d'une application Web écrite en Perl à l'aide de CGI.pm, comment gérer les erreurs (exceptions)? Webapp en question peut être déployé en tant qu'application CGI simple, en tant qu'application FastCGI (en utilisant CGI :: Fast), et en tant qu'application mod_perl en utilisant le gestionnaire ModPerl :: Registry. Je veux dire ici gérer les erreurs comme la page non trouvée, ou la configuration interdit l'action donnée, ou une commande externe utilisée dans l'application a échoué (comme par exemple ne peut pas se connecter à la base de données).Comment gérer les erreurs dans une application Web écrite en Perl (CGI.pm)?
Edit:ajouté 2010-12-14.
L'exemple flux de code pourrait ressembler à ceci:
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);
}
Je veux dire ici que l'erreur aurait pu être à jeter/traitées dans certains imbriquer, et non seulement dans le gestionnaire d'action/gestionnaire d'itinéraire.
J'ai toujours aimé la façon dont CGI :: Prototype gère ce genre de chose. À tout moment dans le contrôle de flux, vous pouvez effectivement changer de route. C'est une question difficile à répondre en général parce que c'est une question de conception et d'architecture, et différents cadres ont des pensées différentes sur la façon dont les choses devraient se passer. Peut-être que vous pouvez faire une question plus étroite? –
@casperOne - Lorsque vous (en tant que modérateur) supprimez une ou plusieurs réponses, veuillez être gentil et ajouter un commentaire à cette réponse avec une raison EXACTE. En ce moment, on dirait que vous êtes juste un des disciples de # Briandfoy, car il inspecte chaque étape (ce qui ne me dérange pas). –