与えられた引数xが0であるかどうかを調べるメソッドを作成しようとしています。もしそうなら、例外をスローし、xを0に設定します。例外をスローして0に設定する
InvalidParameterException
これは私がtryブロックを使用する必要があります質問がある
private static double mayBePositive(double x, String msg){
if (x < 0){
x = 0;
throw new InvalidParameterException(msg);
}
return x;
}
を持っているコードのですか?そして、これを行う最善の方法は何ですか、私は上記のコードが適切に動作しないことを知っていますが、私はこれを理解することはできません。
これはX/Y問題のように聞こえます:あなたはXをしたい、あなたはそれを行う方法として上記(Y)を考えていました。そして今あなたはYを実装している問題について尋ねていますXとは何ですか? –
'x'を0に設定し、例外を投げつけて私に過度の縫い目をつけます。例外、特に 'InvalidArgumentException'や' InvalidParameterException'がスローされた場合、渡された引数が無効であることがわかります。 'x'を0に設定すると、その値は現在有効であり、例外は無用です。例外を投げると、その値を無駄にするようになり、その値を設定すると例外が無駄になってしまいます。 –
"上記のコードが正しく動作しないことを知っています"このメソッドが何を期待していますか? –