Wir können auch die try...catch...finally -Anweisung verwenden, um Ausnahmen zu behandeln. Wenn das Programm den Fehlercode ausführt, löst das System ein Ausnahmeobjekt aus und das Programm tritt nacheinander in den Catch-Block ein. Wenn der Abgleich erfolgreich ist, führt das Programm den Catch-Code aus. Wenn der Abgleich fehlschlägt, wird das Programm zur Verarbeitung an die Java Virtual Machine zurückgegeben.
Das Format der try...catch...finally-Anweisung lautet wie folgt: try{//Enthält Anweisungen, die Ausnahmen verursachen können}catch (Name der Ausnahmeklasse, Ausnahmeobjekt){//Code für die Ausnahmebehandlung}finally{//Code dafür muss ausgeführt werden}
Dinge zu beachten:
1) Versuchen Sie, den Try-Blockcode so klein wie möglich zu halten.
2) Sobald im Try-Block-Code eine Ausnahme auftritt, wird diese nicht ausgeführt, egal wie viele Codezeilen auf den Try-Block folgen.
3) Der Ausnahmeparameterabgleich im Catch-Block erfüllt auch die polymorphe Ausnahme e = new ArithmeticException(/by zero);
4) Es kann nur einen Try-Block geben, und es können mehrere Catch- Blöcke vorhanden sein. Try kann mit Catch kombiniert werden, Try kann mit Final kombiniert werden und Try kann mit Catch und Final kombiniert werden.
5) Im Allgemeinen wird Exception als Parametertyp von Catch am Ende des Ausnahmebehandlungsformats verwendet.
6) Execption als Ausnahmeparameter der übergeordneten Klasse kann nur am Ende der Ausnahme erscheinen, zuerst in der Unterklasse und dann in der übergeordneten Klasse.
7) Der endgültig geänderte Codeblock wird definitiv ausgeführt, es sei denn, das Programm wird abnormal beendet oder die System-Exit-Methode wird aufgerufen, bevor die Ausführung endgültig erreicht wird.
8) Wenn in der try-Anweisung die return-Anweisung ausgeführt wird, ist das zurückzugebende Ergebnis bereit. Zu diesem Zeitpunkt wechselt das Programm zur endgültigen Ausführung. Versuchen Sie vor der Übertragung zunächst, das zurückzugebende Ergebnis in einer anderen lokalen Variablen als x zu speichern. Nach der Ausführung wird das zurückgegebene Ergebnis daher auch dann herausgenommen, wenn die Variable x in „final“ geändert wird Als Ergebnis sollte der Stack zum Speichern des Rückgabewerts verwendet werden.