Ausnahmebehandlung ist die Grundlage von Java, aber da es missverstanden wurde, bleibt es als Memorandum.
Ich wollte eine Ausnahme an den Aufrufer der Methode senden. Als ich versuchte, die abgefangene Ausnahme auszulösen, wurde aus irgendeinem Grund ein Kompilierungsfehler angezeigt.
Wenn Sie beispielsweise einen Timeout-Fehler auslösen, ist dies wie folgt.
public void foo(){
try {
fetch();
} catch (SocketTimeoutException e) {
}
}
public Integer fetch(){
try {
//Http通信
} catch (SocketTimeoutException e) {
wirf hier e; // Kompilierungsfehler
}finally {
}
return number;
}
Neben werfen Es gibt eine Thorws-Klausel, aber ich dachte, sie hat dieselbe Funktion wie die catch-Anweisung. Tatsächlich bedeutete die Methode damit ** eine Methode, die eine Ausnahme auslösen konnte **.
Also habe ich der Methode, die die Ausnahme auslöst, eine Throws-Klausel hinzugefügt, und der Kompilierungsfehler ist verschwunden, und ich konnte ihn mit foo () abfangen.
Ich hätte nicht gedacht, dass ich über das Fundament des Fundaments stolpern würde, aber ich bin froh, dass ich es jetzt wusste ...
Recommended Posts