我在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或代码有问题吗?
最佳答案
我认为您的问题不在于您的代码。问题出在您的编译器工具链中。您可能正在使用Qt,并且工具链出现了问题。 Google在您的IDE崩溃时收到的消息。
这是一个简单的实验,可以证明我的意思:只需运行以下代码:
int main()
{
cout << "Start\n";
cout << "End";
return 0;
}
而且您的程序将崩溃,这意味着您不会对异常或代码中的任何其他内容有任何疑问,但是对于您的工具链而言。
关于c++ - 命令处理器已停止工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19101532/