Ab JDK 7 wurde die Ausnahmebehandlung um drei neue Funktionen erweitert: automatische Ressourcenverwaltung, Multi-Catch und genaueres Rethrow.
Multi-Catch ermöglicht es Ihnen, mehrere Ausnahmen mit derselben Catch-Klausel abzufangen und so Codeduplizierung zu vermeiden.
Um Multi-Catch zu verwenden, geben Sie eine durch | getrennte Liste von Ausnahmen an in der Catch-Klausel. Jeder Parameter ist implizit final.
Verwendungsbeispiel: Catch(final ArithmeticException | ArrayIndexOutOfBoundsException e), um beide Ausnahmen mit derselben Catch-Klausel abzufangen.
Das Programm generiert eine ArithmeticException, wenn versucht wird, durch Null zu dividieren, und eine ArrayIndexOutOfBoundsException, wenn auf einen Index außerhalb der Grenzen des Arrays zugegriffen wird. Beide Ausnahmen werden von derselben Catch-Klausel abgefangen.
Die präzisere Rethrow-Funktion schränkt die Art der Ausnahme ein, die erneut ausgelöst werden kann auf:
1 Vom Try-Block ausgelöste geprüfte Ausnahmen.
2 Ausnahmen, die nicht von einer vorherigen Catch-Klausel behandelt werden.
3 Ausnahmen, die Subtyp oder Supertyp des Parameters sind.
Der Parameter im Catch-Block muss endgültig sein, um die endgültige Neufassung zu verwenden, was bedeutet, dass ihm im Catch-Block kein neuer Wert zugewiesen werden kann. Dies kann explizit angegeben werden, ist aber nicht erforderlich.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3