gpt4 book ai didi

perl - 是否有可能捕获另一个 perl 模块内发生的死消息?

转载 作者:行者123 更新时间:2023-12-05 02:24:34 25 4
gpt4 key购买 nike

我有一个用 Perl 编写的 SOAP 客户端,使用 LWP 包进行 HTTPS 传输,使用 XML::Simple 解析 XML 有效负载。有时,对 XMLin 的调用会因 die() 而失败,然后我的脚本就会死掉,必须由我编写的监控程序重新启动以检测到这一点。这真的是不可取的,所以我想知道 Perl 是否有像 C++ 异常处理机制这样的工具,我可以在其中捕获死消息,忽略它报告错误并让我的脚本继续运行,就像发生错误一样?我已经阅读了许多 Perl 书籍并寻找了这个,但我没有设法找到一些东西。这会杀死我的应用程序,但除非绝对必要,否则我不想编写自己的 XML 解析代码。

最佳答案

是的;这样做的基 native 制是 eval:

sub a { die "BAD"; }
eval { a(); }
print "Survived an exception $@";

但是,有一些原因表明您应该使用更高级的构造(仍然是在此之上构造的),例如 Try::Tiny等。 (请参阅其文档底部的链接)。

关于perl - 是否有可能捕获另一个 perl 模块内发生的死消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com