【发布时间】:2010-10-15 13:58:55
【问题描述】:
这是"How can I get around a ‘die’ call in a Perl library I can’t modify?" 的后续。
我有一个子例程,它多次调用 Library-Which-Crashes-Sometimes。我没有用 eval{} 来处理这个子例程中的每个调用,而是让它死掉,并在调用我的子例程的级别上使用 eval{}:
my $status=eval{function($param);};
unless($status){print $@; next;}; # print error and go to
# next file if function() fails
但是,我可以并且确实可以在 function() 中捕获一些错误情况。在子例程和调用例程中设计错误捕获的最合适/优雅的方法是什么,以便我获得捕获和未捕获错误的正确行为?
【问题讨论】:
标签: perl error-handling die