在VS2008中,try / catch中会抛出异常

时间:2014-07-01 14:37:50

标签: c++ visual-studio-2008 exception-handling

我无法找到一个完全是我的问题的帖子,所以如果有人知道它是否已经解决了,请转发给我:)

我正在开发Visual C ++ 2008,版本9.0.21022.8 RTM。我正在创建一些测试但是visualStudio总是打破这个异常

bool exceptionCaught = false;
try
{
  char* buff = NULL;
  buff[0] = 10;
}
catch (...)
{
  exceptionCaught = true;
}

我取消选中Debugging中的所有框 - > Exceptions,我在Debugging部分的Tools-> Options对话框中尝试了所有选项。 我正在使用异常处理/ HEa(但无论如何,/ EHsc不会改变任何东西)

这段代码完全适用于另一台计算机,但即使使用其配置,我的行为也不会改变,它会一直打破......

我有什么遗失的吗?另一个选项/菜单?

1 个答案:

答案 0 :(得分:2)

通过空指针写入是C ++中未定义的行为。它没有理由产生C ++异常。您不能使用C ++异常模型来处理对无效地址的直接写入。

它可能会产生某种形式的操作系统错误;这也可以称为“异常”,但它与C ++异常无关。