perl - 忽略 Perl END block 中的错误

标签 perl exception-handling

我如何忽略 die()发生在 Perl 中 END堵塞?

就像现在我得到

END failed--call queue aborted



错误会在调用脚本中冒泡。

最佳答案

将您的端块放在 eval { .... } 内- 这应该可以防止您描述的行为。

#!/usr/bin/perl

print("hi there!\n");

END {
    eval{
        print("goodbye\n");
        die("this can't hurt....");
    };

    #detect if an error occurred in the eval
    if ( $@ ){
        print ("an error occurred: $@\n");
    }
}

关于perl - 忽略 Perl END block 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14248536/

相关文章:

mysql - 使用 perl cgi 更新数据库行

javascript - 我可以在 Iframe 的父窗口中捕获 Iframe 的异常吗

c++ - 查找 std::vector.at() 抛出 std::out_of_range 的位置

mongodb - 使用 Perl 的 Mongodb 的 SSL 连接问题

perl - 为什么 perltidy 要进入标准输出?

perl - 标量上下文中是否存在列表之类的东西?

perl - 如何在文件中搜索模式并从匹配点到文件末尾获取新文件?

c++ - C 程序可以处理 C++ 异常吗?

c# - .NET 4.0 - AccessViolationException 和 WndProc

exception - 为什么抛出异常比返回错误代码更好?