Ich habe einen Code, der eine Verbindung zu einer URL herstellt, um eine Datei herunterzuladen, und führt dann eine Verarbeitung für sie durch. Manchmal erhalte ich jedoch den Fehler java.net.SocketException: Connection reset
.
Ich möchte versuchen, die Datei herunterzuladen, wenn ich diesen Fehler erhalte, sagen wir höchstens dreimal, bevor ich aufgib. Ich würde gerne wissen, was der beste Weg wäre, dies zu strukturieren.
Sieht das Folgende gut aus? Scheint es akzeptabel, den Block try-catch
innerhalb einer Schleife while
zu platzieren, oder gibt es einen besseren Ansatz?
Alle Hilfe wird sehr geschätzt!
%Vor%Ich bin darauf hingewiesen worden, dass das Schlucken einer Ausnahme immer schlecht ist, aber ich denke hier, das ist der einzige Weg zu sagen, ob die Verbindung tatsächlich zurückgesetzt wurde. Ich nehme an, dass Sie die Ausnahme gemäß Ihren Anforderungen behandeln, das ist also alles.
Aber ich würde es trotzdem so machen, dass du die letzte Ausnahme nicht schluckst. Wenn es dreimal fehlschlägt, sollten Sie diese Ausnahme erneut auslösen oder irgendwie fehlschlagen.
AOP- und Java-Anmerkungen sollten helfen. Ich würde einen Read-Made-Mechanismus von jcabi-aspects empfehlen (ich bin ein Entwickler):
%Vor%Tags und Links java exception-handling connection