我安装的CLion可能是默认配置。我认为这有问题,因为我看不到异常。例如,这段代码:
int main(){ throw 5; }
仅打印Process finished with exit code 0
为进行比较:
int main(){try { throw 5; } catch(int x) { std::cout << x << '\n'; }}
这将显示5,因此看起来代码已正确运行,并且异常已正确引发。它只是被CLion隐藏了。
编辑:这与“没有看到任何控制台输出”重复。我的问题非常清楚,我确实看到了打印的控制台输出。我的问题专门针对异常,而不是控制台输出。
答案 0 :(得分:1)
在第一段代码中,您没有捕获到异常,因此该异常由默认处理程序处理。因此,您无法控制可执行文件的返回代码。操作符合预期。
如果您希望CLion显示异常,可以对其进行配置。请注意,这仅在CLion调试可执行文件时适用,在CLion之外,可执行文件将继续按照您已经看到的方式运行。