Ich kenne einen Gegenansatz, um dies zu tun. Ich habe mich gefragt, ob es eine schöne und kompakte Möglichkeit gibt, dies zu tun.Java: Wie würde ich einen Versuch-Catch-Repeat-Block schreiben?
Antwort
Legende - Ihre Antwort könnte verbessert werden; denn wenn du numTries
mal scheiterst, schluckst du die Ausnahme. Viel besser:
while (true) {
try {
//
break;
} catch (Exception e) {
if (--numTries == 0) throw e;
}
}
hm if (--numTries == 0) ist wirklich gefährlich. Was ist, wenn es am Anfang 0 oder niedriger ist? Ich würde <1 bevorzugen – hudi
Ich habe ein paar Ansätze gesehen, aber ich folgendes: obwohl
int numtries = 3;
while(numtries-- != 0)
try {
...
break;
} catch(Exception e) {
continue;
}
}
Dies ist der beste Ansatz nicht sein könnte. Wenn Sie noch weitere Vorschläge haben, legen Sie sie bitte hier.
EDIT: Ein besserer Ansatz wurde von oxbow_lakes vorgeschlagen. Bitte sehen Sie sich das an ...
wenn Sie Frühling verwenden bereits, könnte man einen Aspekt für dieses Verhalten erstellen möchten, da es eine übergreifende Anliegen ist und alle müssen Sie erstellen, ist ein pointcut, die alle Ihre Methoden übereinstimmt, brauche die Funktionalität. siehe http://static.springsource.org/spring/docs/2.5.x/reference/aop.html#aop-ataspectj-example
Try aspektorientierte Programmierung und @RetryOnFailure
Anmerkung aus jcabi-aspects:
@RetryOnFailure(attempts = 2, delay = 10, verbose = false)
public String load(URL url) {
return url.openConnection().getContent();
}
- 1. Wie würde ich diese Methode in Java schreiben?
- 2. Wie würde ich einen einfachen PHP-Bot schreiben?
- 3. Wie würde ich einen Vor-Merge-Hook in Git schreiben?
- 4. Wie würde ich in Erinnerung schreiben?
- 5. Wie würde ich einen Stapel in Java iterieren
- 6. Wie würde ich einen JavaScript-Browser in einen JFrame integrieren?
- 7. Wie würde ich dies in IEEE-Standards schreiben?
- 8. Wie würde ich einen ListView-Eintrag erhöhen?
- 9. Wie würde ich einen benutzerdefinierten NFC-Reader-Writer programmieren/erstellen?
- 10. Wie würde ich ein Photoshop-Plugin für ein Bildformat schreiben?
- 11. Wie würde ich anfangen, meine eigene Firewall zu schreiben?
- 12. Wie würde ich den Zyklus als Lambda-Funktion schreiben?
- 13. Wie würde ich dies als eine einzelne LINQ-Abfrage schreiben?
- 14. Was würde verhindern, dass AngularJS $ -Cookies einen Cookie schreiben?
- 15. Wie würde ich ein reaktionsfähiges Layout in Java Swing erstellen
- 16. Wie würde ich einen Datagrid-Detailbereich durch einen Klick erweitern?
- 17. Wie würde ich einen Python Docstring hübsch drucken?
- 18. Wie würde ich dieses Layout in Java Swing machen?
- 19. Einen RSS-Reader in Java schreiben
- 20. Wie würde ich
- 21. Kann ich einen Variablennamen mit Bindestrich in Java schreiben?
- 22. Wie würde ich diese eingegebene Zeichenfolge teilen? (Java)
- 23. Wie würde ich diese beiden Programme kombinieren?
- 24. Wie würde ich einen umgekehrt funktionierenden Link machen?
- 25. wie würde ich einen ‚Affen geflickt‘ Prototyp in Typoskript erkläre
- 26. Wie würde ich eine Variable auf einen booleschen Wert setzen?
- 27. Wie würde ich einen Vektor in J2ME/BlackBerry tief kopieren?
- 28. Wie würde ich einen Proxy im OSX-Terminal konfigurieren?
- 29. Wie würde ich einen Handle Manager in Rust erstellen?
- 30. Wie würde ich einen Wert zwischen den Szenen behalten?
Sie bitte Ihre eigenen Versuche posten. – BalusC