Meine Java for loop
Kontrollen für verschiedene id
in ids() String[] array
als:Java Ersetzen durch benutzerdefinierte Nachricht throw Ausnahme und weiter
BackTest.java
.....
for (String id: ids()) {
//..do something
addResult(result(id));
}
wo addResult()
ist das Ergebnis einiger Java map
hinzufügen. Hier, wenn der id does not exist
, dh http status!=200
dann habe ich eine neue Ausnahme werfe wie im folgenden Ausschnitt gezeigt:
Api.Java
......
if (status != 200) {
String error = "No additional error message received";
if (result != null && result instanceof JSONObject) {
JSONObject obj = (JSONObject) result;
if (obj.containsKey("error")) {
error = '"' + (String) obj.get("error") + '"';
}
}
throw new ApiException(
"API returned HTTP " + status +
"(" + error + ")"
);
}
Jetzt in meinem ersten for
Schleife, wenn die erste ID in die Schleife does not exist
, dann werfe ich eine Ausnahme und das macht my entire process to fail
und es schlägt fehl, um die further ids as a part of id array
zu überprüfen. Wie stelle ich sicher, dass, selbst wenn es bei der ersten ID in einem Array fehlschlägt, der Code weiterhin nach weiteren IDs suchen sollte?
Ich kann throw new exception
mit try-catch-Block ersetzen. Ein Beispiel wäre gut.
Sie können Ausnahmen abfangen und mit 'try' /' catch' umgehen. Ist es das, was du fragst? – immibis
Ja, du hast Recht. –
Also: 'try {addResult (Ergebnis (id));} catch (ApiException e) {e.printStackTrace();}'? – immibis