这是我的自定义异常(exception):

class MyException {
public:
    MyException()
            :message("..."){}
    const char *what() const {return message;}
private:
    const char * message;
};
这是类(class):
Class MyClass {
    void function() {
        // [...]
        if (condition) throw MyException();
        // [...]
    }
};
main.cpp:
MyClass a;
try {
    a.function();
}
catch (MyException & ex) {
    cerr << ex.what() << endl;
}
我以为如果使用condition == true,该程序将退出,但是它将继续...为什么? (该消息会定期显示)
附言
如果我做类似的事情:
function2();

int main {
    function2();
}

function2() {
    try {
        // something that may create an exception
    }
    catch (MyException & ex) {
        cerr << ex.what() << endl;
    }
}

最佳答案

您捕获了一个异常(exception),这就是程序未崩溃的原因。异常处理的重点是捕获异常并妥善处理它们。

10-08 00:20