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

时间:2016-12-05 10:12:04

标签: 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 ++捕获?

0 个答案:

没有答案