在我的c++代码中,当用户输入无效时,我有一段代码会给我一个“访问冲突写入位置…”异常。
我尝试在try/catch块中捕获此异常以在出现异常时显示错误消息。但是由于某种原因,它没有捕获错误。
try {
// ... some code that causes Access Violation Writing Location Exception
}
catch (...) {
std::cout << "invalid user input" << endl;
}
我已经这样做了,但当发生异常时,控制台没有显示我的错误消息,而是说有一个。
Unhandled exception at 0x0F0B0E9A (msvcr110d.dll) in Example.exe : Access violation writing location
看起来我的try / catch块没有捕获异常...
我设置了断点以确保异常发生在try块内..我100%确定是这样的情况..
为什么"catch (...)"没有捕获访问冲突异常?