我正在编写一个 perl 脚本,在我检查用户在命令行上提供的选项的部分,我想退出并出现错误,解释选项有什么问题。在这种情况下,不需要堆栈跟踪与此错误消息一起出现。那么,什么是最好的死掉错误消息但没有堆栈跟踪或调试信息的方法呢?
我尝试了以下方法:
die "Invalid options";
产生
Invalid options at myscript.pl line 49.
然后,我尝试了
use Carp;
...
croak "Invalid options";
产生
Invalid options at myscript.pl line 47
main::prepare_output_directory() called at myscript.pl line 546
那么我怎么能死而无憾Invalid options
呢?
额外的问题:为什么croak
告诉我错误在第 47 行,而实际调用croak
在第 49 行?