我正在编写一个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行?
答案 0 :(得分:18)
只需在die
字符串末尾添加换行符:
die "Invalid options\n";
这样可以防止错误的位置被附加到您的邮件中。