我在 Ubuntu 12.04 中使用 eclipse。我在我的程序中使用了一些异常,当它们被捕获时,它会正确地给我 cout。但程序一直持续到最后。有没有办法在异常后停止程序?
这是我使用的代码:
try{
if(BLER==-1) throw 12;
}catch(int exception){
cout << "ERROR: BLER value is invalid for x= " << x << ", BLER_input= " << BLER_input << ", m= "<< m << endl;
}
最佳答案
一些解决方案:
如果您在 main() 例程中执行此操作,请从您的函数中使用
return
(并根据您的返回值执行此操作)使用
exit(n)
,其中 n 是退出代码 ( http://www.cplusplus.com/reference/cstdlib/exit/ )abort()
如果这是一个关键问题 ( http://www.cplusplus.com/reference/cstdlib/abort/ )
注意:正如 James Kanze 所指出的,exit
和 abort
将NOT 调用本地对象的析构函数。这是值得注意的,因为您正在处理类。
关于c++ - 异常后程序不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21781327/