c++ 抛出异常及其消息

ddrv8njm  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(114)

我刚开始使用CLion,试着写一个简单的程序来理解它是如何工作的。我在Windows 8 + cygwin上的程序是:

int main()
{
    throw std::exception();
}

我在控制台中得到输出:

C:\....\bin.exe

Process finished with exit code 0

关于程序被中止的消息在哪里?什么都没有,我应该如何检测我的程序是否真的被抛出异常而中止了呢?

h6my8fg2

h6my8fg21#

这样做是因为您没有使用try and catch指令,并且会发生类似堆栈意外的情况。在一个函数中,如果你没有使用catch指令,它会沿着堆栈向下移动,直到到达主函数,如果没有catch,程序就会终止。如果你的函数抛出了一个没有catch的异常,它会终止执行并返回到调用者函数。如果调用者函数是主函数,并且您没有使用catch,则程序终止。它沿着堆栈向下移动,如果在函数链的某个位置没有catch,它将终止程序。

相关问题