我想抛出这样的异常:
if (...) {
throw "not found";
}
并像这样抓住它:
try {
myfunction();
} catch (const char * msg) {
cout << msg << endl;
}
但后来它说
terminate called after throwing an instance of 'char const*'
为什么它调用终止而不抛出我的“未找到”?
编辑:
我把它改成这样:
try {
throw "not found";
} catch (const char * msg) {
cout << "test" << endl;
} catch(...) {
cout << "test" << endl;
}
我得到同样的错误!
EDIT2:当我不调用上面的特定方法时,它可以工作!但是我不明白这个方法与异常有什么关系,除了上面提到的myfunction()之外,我没有在任何其他函数中使用它。让我再测试一些,然后我会回复你!
编辑3:
哦,我的,这很尴尬。看起来我调用了错误的函数。很抱歉给您带来了这种可耻的经历!