エラーの処理方法で暗中模索

                             <p>例えば、掲示板などのスクリプトで、名前を入力し忘れて投稿した時とかに「致命的なエラー」で強制終了(表示としては「500 Internal Server Error」になる)されたらどうだろう?<br />

しかも、その時にブラウザの「戻る」で戻ったら全部消えていた、とかだったらどうだろう? ユーザーから見れば不親切だ。 名前が抜けているのなら、名前を入力しなおせば良いはずだ。 エラーの種類としては、処理を続けることができなくなる「(実際の意味での)致命的なエラー(データファイルがない、ファイルに書き込みできない、など)」もあるだろうからある程度は仕方ないにしても、「致命的ではないエラー(名前が抜けている、メールアドレスが不適切、など)」は、ユーザーの支障にならないようにしておきたいところだ。

1
2
3
4
5
6
7
8
9
#!/usr/bin/perl -T
# 日本語(EUC-JP)
BEGIN {
    use CGI::Carp qw(fatalsToBrowser);# 500エラー時でもエラー情報をブラウザへ出力
    open CGILOG, ">> ./cgi.log" or die 'Can not open file. ">> ./cgi.log"';
    CGI::Carp::carpout(*CGILOG);
}
use strict;
use warnings;

Comments

comments powered by Disqus