Multi Catch aus Java kann nicht effektiv verwendet werden [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Was ist eine NumberFormatException und wie kann ich das beheben? [Duplikat 9 answersWarum ist die Reihenfolge wichtig, wenn Ausnahmen abgefangen werden? 8 answersIch möchte unbedingt Funktionen von Java-1.7 verwenden. Eines dieser Features ist "Multi-Catch". Derzeit habe ich den folgenden Code
try {
int Id = Integer.parseInt(idstr);
TypeInfo tempTypeInfo = getTypeInfo(String.valueOf(Id));
updateTotalCount(tempTypeInfo);
} catch (NumberFormatException numExcp) {
numExcp.printStackTrace();
} catch (Exception exception) {
exception.printStackTrace();
}
Ich möchte die beiden catch-Blöcke aus dem obigen Code entfernen und stattdessen einen einzelnen catch wie folgt verwenden:
try {
int Id = Integer.parseInt(idstr);
TypeInfo tempTypeInfo = getTypeInfo(String.valueOf(Id));
updateTotalCount(tempTypeInfo);
} catch (Exception | NumberFormatException ex) { // --> compile time error
ex.printStackTrace();
}
Aber der obige Code gibt einen Kompilierungsfehler aus:
"NumberFormatException" wird bereits von der alternativen Ausnahme abgefangen.
Ich habe den obigen Kompilierungsfehler verstanden, aber was ist der Ersatz für meinen ersten Codeblock.