どうすればいいですか、
最大20桁の数を格納するLargeIntegerというクラスがあります。コンストラクタを作りました
LargeInteger::LargeInteger(string number){ init(number); }
数値が > LargeInteger::MAX_DIGITS (静的 const メンバー)、つまり 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.上記の場合、どのように対処しますか?