我有一个 Perl 脚本,它使用了一些可能使用 xs 包装的 C++ 库。
当库抛出异常时,即使从 eval
内部调用,它也会使我的 Perl 脚本崩溃。
如何跳过异常并防止我的脚本崩溃?
terminate called after throwing an instance of 'blaException'
what(): blablabla.cpp:202: Failed to bla
Abort trap: 6 (core dumped)
Perl 版本为 v5.12.4
最佳答案
你不能。核心转储是致命的,所以到那时游戏就结束了。正确的解决方案是确保代码不会崩溃,但如果您无法控制该 C++ 库,那将很困难。
也许可以通过在调用库之前 fork 脚本然后在它确实崩溃时重新启动来解决问题,但这不是我曾考虑在任何地方的生产中使用的解决方案。
关于c++ - 防止 C++ 异常使我的 Perl 脚本崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24839132/