我正在为Visual C ++ 2010编写异常处理代码。这是代码
#include <iostream>
using namespace std;
// Localize a try/catch to a function.
void Xhandler(int test)
{
try{
if(test) throw test;
}
catch(int i) {
cout << "Caught Exception #: " << i << '\n';
}
}
int main()
{
cout << "Start\n";
Xhandler(1);
Xhandler(2);
Xhandler(0);
Xhandler(3);
cout << "End";
return 0;
}
程序正常执行,输出正如预期的那样。但是当我按下关闭按钮关闭控制台时,出现错误cmd has stopped working
。然后我运行了我之前正确执行的代码,他们也给出了同样的错误 。 任何人都可以告诉它为什么会发生吗?这是Visual c + + 2010或代码
的问题答案 0 :(得分:3)
我认为您的问题不在于您的代码。问题出在编译器工具链中。您可能正在使用Qt,并且工具链存在导致此问题的问题。 Google使用IDE崩溃时收到的消息。
这是一个简单的实验来证明我在说什么:只需运行此代码:
int main()
{
cout << "Start\n";
cout << "End";
return 0;
}
您的程序将崩溃,这意味着您的代码中的异常或其他任何内容都没有问题,但是您的工具链也没有问题。