Wie Java -Sprache kann JavaScript Ausnahmen durch Wurfanweisungen werfen. Im Gegensatz zur Java -Sprache kann JavaScript alle Arten von Werten durch Wurfanweisungen werfen, nicht nur, um Fehlerobjekte zu werfen.
Die Codekopie lautet wie folgt:
// ein Fehlerobjekt werfen.
versuchen{
Neuen Fehler werfen ("Nachricht im Fehlerobjekt");
} catch (e) {
Console.log (e); // Fehler: Meldung im Fehlerobjekt
}
versuchen{
"rohe Nachricht" werfen;
} catch (message) {
console.log (meldung); // rohe Nachricht
console.log (typeof meldung); // String
}
versuchen{
42 werfen;
} catch (Code) {
console.log (Code); // 42
console.log (typeof code); // nummer
}
Wie Java Language wird die Ausnahme, wenn keine Catch -Anweisung erfasst wird, die Ausnahme letztendlich an den Benutzer geworfen:
Die Codekopie lautet wie folgt:
versuchen{
// Neuen Fehler werfen ("Testfehler"); // Fehler wird geworfen. Fehler: Testfehler
} Endlich{
}
versuchen{
Wurf 42; // Fehler werden geworfen. Fehler: 42
} Endlich{
}
Für Fangwurstausnahmen verwendet JavaScript auch Try/Catch/End -Anweisungen. Die Nutzungsregeln sind: Versuch ist erforderlich, fangen und schließlich optionale Aussagen, aber mindestens einer von Fang und muss schließlich erscheinen.
In der Catch -Erklärung kann ein Parameter E (oder einen anderen rechtlichen variablen Namen) definiert werden, um die geworfenen Ausreißer zu speichern. In der Catch -Anweisung kann dieser Parameter als lokale Variable verwendet werden. Im Gegensatz zur anderen variablen Verwendung in JavaScript sind Parametervariablen in Catch -Anweisungen nur innerhalb der Catch -Anweisung gültig (der Umfang dieser Variablen ist auf die Catch -Anweisung beschränkt).
Für endgültige Aussagen wird der Code in schließlich ausgeführt, unabhängig davon, ob eine Ausnahme im Versuch ausgelöst wird. Details enthalten:
1. Es tritt keine Ausnahme im Versuch auf. Wenn die Anweisung ausgestellt wird, wird der Code in schließlich ausgeführt.
2. Es tritt keine Ausnahme im Versuch auf, aber wenn der Versuchscode aufgrund der Ausführung von Break-, Fortsetzung oder Rückgabeanweisungen beendet ist, wird der Code endlich ausgeführt.
3. Eine Ausnahme tritt im Versuch auf. Nachdem die Ausnahme durch die Catch -Anweisung bearbeitet wurde, wird der Code in schließlich ausgeführt.
V. Es ist erwähnenswert, dass JavaScript in dem Fall, in dem die Catch -Anweisung fehlt, zuerst den Code schließlich ausführen und dann weiter nach oben ausstößt.
In schließlich Code wird JavaScript diese Anweisungen direkt ausführen, wenn Break-, Fortsetzung oder Rückgabeanweisungen angezeigt werden, und ignorieren Sie die im Try -Code vorhandenen Pausen, fordern oder senden Sie Anweisungen. Auch wenn die Catch -Erklärung fehlt, was zu einer Ausnahme führt, die gemeldet werden muss, wird JS die Ausnahmeberichterstattungsinformationen verwerfen und die Pause weiter ausführen, die Anweisungen in endgültigem Code fortsetzen oder zurückgeben. In ähnlicher Weise wird JavaScript, wenn eine Ausnahme in den endgültigen Code ausgelöst wird, alle Pausen, Fortsetzung oder Rückgabe von Anweisungen im Try -Code und auch mögliche Ausnahmeberichtungsverhalten verwerfen und nur Ausnahmen in den endgültigen Code werfen.