*と操作を使用する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を返す;
}
intJavaメソッドでオーバーフローが発生し ないようにするためのより良い方法はありますか?