Perl 错误处理全解析
1. 改变 die 的退出值
在 Perl 中,如果使用 die 而不是 exit ,Perl 会将 255 作为退出值。不过,我们可以通过 END 块来改变这个值。在 die 之后,Perl 进入 END 块时, $? 会保存 Perl 打算使用的退出值。如果发现这个值是 255,就可以将其设置为更有意义的值,示例代码如下:
END { $? = 37 if $? == 255 }
2. 特定操作系统的错误
在某些系统中,Perl 可以通过 $^E 变量提供更多错误信息。这些错误通常来自 Perl 外部,即使 Perl 使用外部库时未检测到问题,操作系统也可能设置自己的错误变量。
对于标准 Perl, $^E 的值通常与 $! 相同。但在 VMS、OS/2、Windows 或 MacPerl 系统中,可能会获得额外信息。平台特定的模块也可以使用 $^E 传递信息。
在 Windows 系统中, $^E 的值是 Win32::GetLastError() 的返回值。Win32 系列模块使用 $^E 传递错
超级会员免费看
订阅专栏 解锁全文
961

被折叠的 条评论
为什么被折叠?



