我正在学习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/

10-17 03:07