1

似乎SetErrorMode(SEM_NOGPFAULTERRORBOX), 抑制了除以零。

重现代码:

SetErrorMode(SetErrorMode(0) | SEM_NOGPFAULTERRORBOX); // Comment out this line and an error dialog will appear.
int a = 5;
printf("%d", 1/(a-5));

这是为什么?从名称来看,我认为它应该只抑制通用保护故障,这与除以零无关。

4

1 回答 1

3

MSDN 参考页面

系统不显示 Windows 错误报告对话框。

这意味着当您设置标志时,它会抑制所有错误对话框。

于 2013-07-25T08:32:58.760 回答