我正在学习Perl,在许多示例中,我看到这样处理错误
open FILE, "file.txt" or die $!;
脚本中间的
die
真的是处理错误的最佳方法吗? 最佳答案
die
在脚本中间是否合适,实际上取决于您在做什么。如果只有几十行,那很好。一个有几百行的小工具,然后考虑供认(见下文)。如果它是一个具有大量类和互连代码的大型面向对象系统,那么异常对象可能会更好。
在Carp包中认罪:
通常,导致死亡的bug不在死亡报告的线上。
用confess替换die(请参阅Carp软件包)将给出堆栈跟踪(我们如何到达此行),这大大有助于调试。
为了处理来自Perl内置程序的异常,我喜欢使用autodie。它捕获open
和其他系统调用的失败,并为您抛出异常,而无需执行or die
位。这些异常可以使用Try::Tiny或更好地通过使用ojit_a来捕获。
关于perl - Perl中错误处理的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2869297/