
输入与输出
|
109
用
warn
发出警告信息
类似
die
函数能提示
Perl
的内置错误这样的致命错误(比如除以零),
warn
函数
可以发出类似于
Perl
的内置警告信息这样的信息(比如启用警告信息时,使用某
个
undef
变量参与运算就会发出警告信息)。
warn
函数的功能和
die
差不多,不同之处仅在最后一步:它不会终止程序的运行。
其他都不变,如有需要它也会提供出错的程序名及行号,同样会将错误信息送往标准
错误流。
自动检测致命错误
从
Perl 5.10
开始,
autodie
编译指令已成为标准库的一部分。比如下面这个例子,之
前的写法是自己检查
open
操作是否成功:
if ( ! open LOG, '>>', 'logfile' ) {
die "Cannot create logfile: $!";
}
每次打开文件句柄都要这么写的话,确实够麻烦的。现在开始用
autodie
编译指令,
它会在
open
失败时自动启动
die
:
use autodie;
open LOG, '>>', 'logfile';
这条编译指令会识别
Perl
内置函数是否调用操作系统接口,这种调用时出现的错误
并非程序员所能控制的,所以一旦发现,
autodie
便会自动帮你调用
die
发出错误信
息,信息的内容大体和我们自己组织的差不多:
Can't open('>>', 'logfile'): No such file or directory at test line 3
我们已经介绍了出现错误时的处理,现在回到 ...