提问人:tim11g 提问时间:5/18/2020 更新时间:5/18/2020 访问量:64
Perl 能否为单元化变量引用输出运行时错误,而不是静默退出脚本?
Can Perl output runtime errors for unitialized variable references, instead of silently exiting the script?
问:
我在 Windows 5.22.1 x10 上使用 Perl v64。 我的脚本包含
use strict;
use warnings "all";
我有时会发现,由于我的错误,引用了一个未定义的变量。我的经验是Perl静默地退出脚本,而不显示任何错误或警告。
是否有任何其他设置或选项可以启用有关引用未初始化变量的警告?
我在这里找到了一些关于设置退出代码的指导,但如果可能的话,我更喜欢实际的错误或警告命名变量。
答:
1赞
ikegami
5/18/2020
#1
Perl 解释器有三种方式会导致程序退出:
- 通过抛出异常。如果未捕获此异常,则异常的字符串化将打印到 STDERR,程序将退出。
- 通过遇到严重的情况。一条消息(可能包括“panic”一词)将打印到 STDERR,程序将退出。
- 响应对程序的呼叫或到达程序的末尾。Perl 解释器不会输出任何消息,因为它没有启动退出(因此无法知道编程退出的原因)。
exit
如果程序作系统杀死(例如,响应一些未捕获的信号),程序也会退出。
因此,在Perl解释器启动退出的所有情况下,它已经输出了一条消息。
所以,你要求Perl做Perl已经做过的事情。
所以,你的要求是没有意义的。
评论
0赞
brian d foy
5/18/2020
既然你不再说“显示”,我的评论现在无关紧要:)
评论