1
私はクラスがあると仮定し、 "den"が0の場合にチェックされた例外をスローするように次のコードを変更し、その例外をキャッチする関数を変更します。Javaで例外をスローする
public class divide {
void divide(int num, int den){
System.out.println(""+(num/den));
}
void fun(){
divide(4,2);
}
}
例外をスローする正しい方法はどれですか?
オプション1:
void divide(int num, int den) throws Exception{
if(den==0){
throw new Exception("Dividebyzero");
}
System.out.println(""+(num/den));
}
void fun(){
try {
divide(4,2);
} catch (Exception e) {
}
}
オプション2://私はこの1つが正しいと思い
void divide(int num, int den){
if(den==0){
throw new RuntimeException("Dividebyzero");
}
System.out.println(""+(num/den));
}
void fun(){
try {
divide(4,2);
} catch (RuntimeException e) {
}
}
オプション3:この問題は、Javaのいずれかから来た
void divide(int num, int den) throws Exception{
if(den==0){
throw new RuntimeException;
}
System.out.println(""+(num/den));
}
void fun(){
try {
divide(4,2);
} catch (Exception, RuntimeException) {
}
}
演習。私は数年間Javaを学んだことがありますが、私はtry catch catchについて混乱しています。個人的には、例外を1回だけ投げるか、間違っているので、オプション2が正しいと思いますか?
は、オプション3がコンパイルされません配列を作成するように、不正な引数のために良い選択であるとのあまりありませんオプション1または2の違い –
小さな構文エラーは無視してくださいが、全体的な構造を見てください@ cricket_007 – user6119494
したがって、使用するExceptionのサブクラスは? –