c++ - 是否有可能在 C++ 中捕获硬件错误?

标签 c++ linux windows macos exception

这段 C++ 代码崩溃,因为它包含被零除错误:

int main()
{
    try {
        int i = 0;
        int j = 1 / i;
    } catch(...) {}
    return 0;
}

是否有可能在不同的平台上捕获这样的错误?如果您只知道一些平台,那么您可以回答您所知道的平台。

我对 Windows 上的 SEH 和 Linux 上的信号有一个基本的了解,但我不确定是否有一种方法可以像 C++ 中的软件错误一样捕获各种硬件错误。

最后,似乎可以在 Python 中捕获被零除异常:

try:
    i = 0
    j = 1 / i
except:
    pass

在 Java 中:

public class Main {
    public static void main(String[] args) {
        try {
            int i = 0;
            int j = 1 / i;
        } catch (Exception e) {}
    }
}

那么是什么阻止了它们被 C++ 捕获?

最佳答案

关于c++ - 是否有可能在 C++ 中捕获硬件错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40971784/

相关文章:

c++ - 标准输出和标准输入关系

c++ - 为什么编译器不优化简单的包装函数指针?

linux - 如何正确设置 EC2 负载平衡以允许实时文件同步?

php - 关于在 linux mint 上安装curl的问题

node.js - 如何在放大镜滴管下获取像素颜色?

C++ 将静态库链接到共享库

linux - OpenGL ES 2 控制台帧缓冲区光标

windows - 如何使用 Perl 快速修复大文件中的 EBCDIC 控制字符?

.net - 我应该将配置文件放在 .NET 中的什么位置?

c++ - 我可以将 ftw 函数用于 C++ 中的类方法吗?