我该怎么做呢,
我有一个名为 LargeInteger 的类,它存储了最多 20 位数字。我做了构造函数
LargeInteger::LargeInteger(string number){ init(number); }
现在,如果数字是 > LargeInteger::MAX_DIGITS (static const member),即 20,我不想创建对象并抛出异常。
我创建了一个类 LargeIntegerException{ ... }; 并做到了
void init(string number) throw(LargeIntegerException);
void LargeInteger::init(string number) throw(LargeIntegerException)
{
if(number.length > MAX_DIGITS)
throw LargeIntegerException(LargeIntegerException::OUT_OF_BOUNDS);
else ......
}
所以现在我修改了构造函数
LargeInteger::LargeInteger(string number)
{ try {init(number);} catch(LargeIntegerExceptione) {...} }
现在我有 2 个问题
1.如果抛出异常,会创建这个类的对象吗?
2.如属上述情况如何处理?