任何一个开发网络应用程序的人都会对“Server Error 500”出错信息感到熟悉,如果你的代码稍稍出了点错,就会出现此信息。如果你的程序有错误,Perl“崩溃了”,程序就从当前的运行状态退出,并产生出错记录,告诉你问题所在。在很多情况下,你是很难找到并查看出错记录的,在某些服务器上甚至都不可能做到(因为你的文件读取权限受限)。现在,你可以用自己设计的界面友好的出错信息屏幕来代替原来的出错信息。通过设置崩溃信息处理程序,我们可以“抓住”崩溃信息,并可以通知该程序在崩溃之前完成有关事宜。下列这段代码应紧挨着放在我们的程序前面,以便最先运行。
|
$SIG = &Error_Msg;
sub Error_Msg {
$msg =
"@_";
print
"Content-type: text/html
";
print
"The following error occurred : $msg
";
exit;
}
|
通过指定“崩溃”信息和使用$!变量,来告诉出错原因,你可以裁剪出错信息。你也可以将其做成网页输出,这种界面可让用户感到亲切。一般来说,崩溃的信息中将包含出错的程序名称以及语句的行号。
但是,你也可以在你的“崩溃”信息后面通过放置一个换行符,不输出这些信息。
|
open(FILE,"<$cgidir/myfile.dat") ||
[break inserted here by editor to fit page; omit when
copying!]
die("Read Myfile : Can't open file $cgidir/myfile.dat :
$!");
|
现在当你的程序崩溃时,崩溃信息将告诉你究竟发生了什么事及其原因。