注意:我不能使用任何默认值。
我正在尝试制作一个非常简单的异常处理例程,或者至少制作一些看起来很重要的东西。我不想做太多,只是抛出异常并打印错误消息。
在.h
class MyException {
protected: string message;
public:
MyException (string mes) {
this->message = mes;
}
MyException (); // is this necessary ? does it do anything ?
string getMessage() const {
return this->message;
}
};
我想要的是有一个“PersonException”和“ActivityException”。可能会使用模板,但不确定是否可行。
class PersonException:public MyException {
public:
PersonException (string message):MyException(message) {
}
};
class PersonValidator {
public:
PersonValidator (Person p) throw (PersonException);
};
在.cpp
void PersonValidator::PersonValidator(Person p) throw (PersonException) {
if (p.getPhone < 0) {
throw PersonException ("Person Number is invalid");
}
这里有什么问题或麻烦,如何才能做得更好?我在哪里实际打印错误消息?