Angenommen, ich habe eine Klasse, die Voraussetzung ist, dass "den folgenden Code ändern, um checked Ausnahme zu werfen, wenn" den "ist 0, und ändern Sie die Funktion, um diese Ausnahme zu fangen".Throw Ausnahme in Java
Welche der folgenden ist der richtige Weg, um eine Ausnahme zu werfen?
Option 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) {
}
}
Option 2: // Ich denke, das ist richtig
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 Option:
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) {
}
}
Dieses Problem aus einem der Java kam Übungen. Ich habe Java seit mehreren Jahren gelernt, aber ich bin etwas verwirrt über den Versuch, Fang werfen. Persönlich denke ich, dass Option 2 korrekt ist, weil wir die Ausnahme nur einmal werfen, oder ich liege falsch?
Option 3 wird nicht kompiliert, und es gibt nicht viel von einem Unterschied in Option 1 oder 2 –
Bitte ignorieren Sie kleine Syntaxfehler, aber betrachten Sie die Gesamtstruktur @ cricket_007 – user6119494
Sie fragen also, welche Unterklasse von Exception zu verwenden? –