Это мое собственное исключение:
class MyException {
public:
MyException()
:message("..."){}
const char *what() const {return message;}
private:
const char * message;
};
Это класс:
Class MyClass {
void function() {
// [...]
if (condition) throw MyException();
// [...]
}
};
main. cpp:
MyClass a;
try {
a.function();
}
catch (MyException & ex) {
cerr << ex.what() << endl;
}
Я думал, что программа собиралась завершить работу, если condition == true
, но вместо этого она продолжается ... Почему? (Сообщение появляется регулярно)
PS
То же, если я делаю что-то вроде:
function2();
int main {
function2();
}
function2() {
try {
// something that may create an exception
}
catch (MyException & ex) {
cerr << ex.what() << endl;
}
}