try...catch...finally-Anweisung
Aktualisiert: November 2007
Implementiert die Fehlerbehandlung für JScript.
try {
[tryStatements]
} catch(exception) {
[catchStatements]
} finally {
[finallyStatements]}
Argumente
tryStatements
Optional. Anweisungen, in denen ein Fehler auftreten kann.exception
Erforderlich. Ein beliebiger Variablenname. Der Anfangswert von exception ist der Wert des ausgelösten Fehlers.catchStatements
Optional. Anweisungen zur Behandlung von Fehlern, die in den zugehörigen tryStatements auftreten.finallyStatements
Optional. Anweisungen, die ohne Bedingung ausgeführt werden, nachdem die Behandlung sämtlicher Fehler abgeschlossen ist.
Hinweise
Die try...catch...finally-Anweisung bietet eine Möglichkeit, einige oder alle möglichen Fehler zu behandeln, die in einem bestimmten Codeblock auftreten können, während dieser Code noch ausgeführt wird. Treten Fehler auf, die vom Programmierer nicht behandelt wurden, erhält der Benutzer die übliche JScript-Fehlermeldung, als wäre keine Fehlerbehandlung implementiert.
tryStatements enthalten Code mit Informationen, wo ein Fehler auftreten kann, während catchStatements Code zur entsprechenden Fehlerbehandlung im Fall eines Fehlers enthalten. Tritt ein Fehler in den tryStatements auf, wird die Programmsteuerung zur Behandlung an die catchStatements übergeben. Der Startwert von exception entspricht dem Wert des in den tryStatements aufgetretenen Fehlers. Wenn keine Fehler auftreten, werden auch keine catchStatements ausgeführt.
Kann der in den betroffenen tryStatements aufgetretene Fehler nicht mithilfe der zugehörigen catchStatements behandelt werden, verwenden Sie die throw-Anweisung, um den Fehler an einen Fehlerhandler auf höherer Ebene zu übergeben bzw. ihn erneut auszulösen.
Nachdem alle Anweisungen in den tryStatements ausgeführt wurden und alle Fehlerbehandlungen in den catchStatements abgeschlossen sind, werden die Anweisungen in den finallyStatements ohne Bedingung ausgeführt.
Der Code innerhalb von finallyStatements wird auch dann ausgeführt, wenn im try- oder catch-Block eine return-Anweisung enthalten ist oder ein Fehler in einem catch-Block ausgelöst wird. finallyStatements werden garantiert immer ausgeführt.
Beispiel
Das folgende Beispiel veranschaulicht die Funktionsweise der JScript-Ausnahmebehandlung.
try {
print("Outer try running...");
try {
print("Nested try running...");
throw "an error";
} catch(e) {
print("Nested catch caught " + e);
throw e + " re-thrown";
} finally {
print("Nested finally is running...");
}
} catch(e) {
print("Outer catch caught " + e);
} finally {
print("Outer finally running");
}
Hierdurch wird die folgende Ausgabe generiert:
Outer try running..
Nested try running...
Nested catch caught an error
Nested finally is running...
Outer catch caught an error re-thrown
Outer finally running