Foundation   >     NSDecimalNumberBehaviors     >     exceptionDuringOperation(_...)
インスタンスメソッド
exceptionDuringOperation(_:error:leftOperand:
rightOperand:)
NSDecimalNumber オブジェクトがエラーに遭遇したときに何をするかを指定します。
宣言
パラメータ
method | エラーが発生したときに実行されていたメソッド。 |
error | 生成されたエラーの型。 |
leftOperand | 左のオペランド。 |
rightOperand | 右のオペランド。 |
議論
NSDecimalNumber.CalculationError に記述されている error の可能な値は4つあります。最初の3つは、10 進数を表す NSDecimalNumber の能力の制限に関係しています。NSDecimalNumber オブジェクトは、仮数 x 10 ^ 指数で表現できる任意の数を表すことができます。仮数は 38 桁までの 10 進の整数で、指数は -256 から 256 です。呼び出し元からの4番目の結果は 0 で割ろうとしたものです。
exceptionDuringOperation(_:error:leftOperand:rightOperand:) の実装では、いくつかの方法でこれらのエラーをそれぞれ処理できます。
- 例外を発生させます。例外の説明については、例外プログラミングのトピック を参照してください。
- nil を返します。呼び出し元のメソッドは、エラーが発生しなかったかのようにその値を返します。error が NSCalculationLossOfPrecision の場合、method は不正確な値、つまり 38 桁の有効桁数に制限された値を返します。error が NSCalculationUnderflow または NSCalculationOverflow の場合、method は NSDecimalNumber の notANumber を返します。error が NSDivideByZero の場合は、nil を返してはいけません。
- エラーを修正し、有効な NSDecimalNumber オブジェクトを返します。呼び出し元のメソッドは、これを独自の戻り値として使用します。