这段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 ++捕获?