異常終了した際にエラーメッセージを表示したい - Perl

この記事は2007年05月17日に書かれた物です

実行しているCGIに致命的なエラーが発生した際に通常は「500 Internal Server Error」となり異常終了するところを、エラーメッセージなどを表示したい。CGI::Carpモジュールを利用すれば良い。

使い方は非常にシンプルで、CGI::Carpモジュールをuseする際に'fatalsToBrowser'を渡してやれば良い。

サンプル

;#
;#異常終了時にエラーメッセージを表示する
;#
 
use strict;
use CGI::Carp qw(fatalsToBrowser);
 
#-- わざと異常終了  --#
die('debug now');

もしくは次のような簡単なCGIをあらかじめ設置、別ウィンドウで実行しておきエラーが発生したら再読み込みといった方法もある。以下はLinux + Apacheの例。

#!/usr/bin/perl
 
;#
;#エラーログを表示
;#
 
use strict;
 
#--エラーログの場所--#
my $error_log = '/usr/local/apache/logs/error_log';
 
#--エラーログ表示--#
print "Content-type: text/plain\n\n";
print `tail $error_log`;
 
exit;

もちろんエラーログを読める権限が必要なので実行の際はご確認を。

関連書籍

竹下 隆史, 村山 公保, 荒井 透, 苅田 幸雄
ISBN 4274068765
¥ 2,376

コメント

コメントを入力. Wiki文法が有効です:
D S I​ B L