如何让CLion显示异常?

时间:2018-10-03 09:13:27

标签: c++ clion

我安装的CLion可能是默认配置。我认为这有问题,因为我看不到异常。例如,这段代码:

int main(){ throw 5; }

仅打印Process finished with exit code 0

  • 为什么不打印异常?
  • 为什么打印0而不是1?

为进行比较:

int main(){try { throw 5; } catch(int x) { std::cout << x << '\n'; }}

这将显示5,因此看起来代码已正确运行,并且异常已正确引发。它只是被CLion隐藏了。

编辑:这与“没有看到任何控制台输出”重复。我的问题非常清楚,我确实看到了打印的控制台输出。我的问题专门针对异常,而不是控制台输出。

1 个答案:

答案 0 :(得分:1)

在第一段代码中,您没有捕获到异常,因此该异常由默认处理程序处理。因此,您无法控制可执行文件的返回代码。操作符合预期。

如果您希望CLion显示异常,可以对其进行配置。请注意,这仅在CLion调试可执行文件时适用,在CLion之外,可执行文件将继续按照您已经看到的方式运行。

  • 转到运行,然后查看断点
  • 转到异常断点,并在引发异常时
  • 要在引发异常时显示堆栈跟踪,请检查堆栈跟踪
  • 如果您希望程序停止干预,请检查已启用抛出时
  • 确保使用运行/调试而不是运行/运行来启动程序。