c++ - 异常后程序不会停止

标签 c++ eclipse ubuntu

我在 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;
    }

最佳答案

一些解决方案:

  1. 如果您在 main() 例程中执行此操作,请从您的函数中使用 return(并根据您的返回值执行此操作)

  2. 使用 exit(n),其中 n 是退出代码 ( http://www.cplusplus.com/reference/cstdlib/exit/ )

  3. abort() 如果这是一个关键问题 ( http://www.cplusplus.com/reference/cstdlib/abort/ )

注意:正如 James Kanze 所指出的,exitabortNOT 调用本地对象的析构函数。这是值得注意的,因为您正在处理类。

关于c++ - 异常后程序不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21781327/

相关文章:

python - 具有精确的移动距离和方向变化如何填充OpenCV透视变换矩阵(disparity-to-depth)?

c++ - 球从特定角度穿过 Racket

c - 手动 g++ 安装 : endless dependencies

使用模板的 C++ 抽象工厂

java - 如何从可运行的 jar 加载文本文件

php - 如何从现有的 git 仓库创建 Eclipse 项目

android - SQLite 数据库 - 只创建了一个表

linux - 我正在尝试在 ubuntu 中打开 Excel 文件,但它显示垃圾字符

linux - 在 64 位 ubuntu 上编译 32 位汇编器

c++ - 为什么这个列表实现比 STL 列表占用更多空间?