*
と操作を使用するJavaクラスメソッドがあると+
します。
int foo(int a、int b){ ...//+と*を使用した計算 }
でオーバーフローが発生しないようにするにはどうすればよいfoo
ですか?
BigDecimal
+と*をすべて使用するか、次のような「ラッパー」に置き換えることができると思います。
int sum(int a、int b){ int c = a + b; if(a> 0 && b> 0 && c <0) 新しいMyOverfowException(a、b)をスローします cを返す; } int prod(int a、int b){ int c = a * b; if(a> 0 && b> 0 && c <0) 新しいMyOverfowException(a、b)をスローします cを返す; }
int
Javaメソッドでオーバーフローが発生し ないようにするためのより良い方法はありますか?