二次コンストラクタの引数を確認したいのですが、最初に一次コンストラクタを呼び出さなければなりません。1 つの方法は、 への呼び出し内にチェックを入れるthis
ことですが、条件が複雑な場合は見苦しくなります。
def this(initDollars: Int, initCents: Int) = {
this(if (initDollars >= 0 && initCents >= 0) initDollars * 100 + initCents else throw new Exception("Negative values"))
}
それを行うより良い方法はありますか?