【发布时间】:2014-04-26 21:33:38
【问题描述】:
我编写了奇怪的代码,但令人惊讶的是它可以工作。但现在我不知道我扔的是什么,我怎么能抓住它:
class Date {
private:
int day;
int month;
int year;
int daysPerMonth[];
public:
Date( int day, int month, int year ) {
int daysPerMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
if(isValidDate(day, month, year)) {
this->day = day;
this->month = month;
this->year = year;
} else {
throw std::string("No valid input date numbers...");//what i throw???
}
}
请帮我写代码。
【问题讨论】:
-
您想了解什么?该代码应该做什么?
-
你正在抛出 std::string(),通过
const std::string&或通过值std::string捕获。希望你不是拖钓:-) -
“我编写了奇怪的代码,但令人惊讶的是它的工作原理”-> 这太棒了,我把它放在我的报价单上.
-
如果您抛出
std::runtime_error,那么父代码可以捕获std::exception并获取您的异常,而无需仅为您的代码添加额外的异常处理程序。