我有一些技术问题。在此功能中:

string report() const {
    if(list.begin() == list.end()){
        throw "not good";
    }
    //do something
}

如果我抛出异常,程序将如何处理?我的功能会终止还是会继续运行?如果终止,它将返回什么值?

最佳答案

如果抛出异常,则所有功能都将退出,直到找到具有匹配try...catch类型的catch块。如果未从try块中调用您的函数,则该程序将退出,并带有未处理的异常。

查看https://isocpp.org/wiki/faq/exceptions了解更多信息。

关于c++ - 当我抛出异常时会发生什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3065284/

10-11 22:48
查看更多