Heim > Web-Frontend > js-Tutorial > Einführung in das Abfangen von Ausnahmen in JavaScript_Javascript-Kenntnissen

Einführung in das Abfangen von Ausnahmen in JavaScript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:23:12
Original
1197 Leute haben es durchsucht

Wie die Java-Sprache kann JavaScript über die throw-Anweisung Ausnahmen auslösen. Im Gegensatz zur Java-Sprache kann JavaScript über die throw-Anweisung alle Arten von Werten auslösen, nicht nur Fehlerobjekte.


Code kopieren Der Code lautet wie folgt:

//Wirf ein Fehlerobjekt aus.
versuche es{
throw new Error("Message in Error Object");
}catch(e){
console.log(e);//Fehler: Meldung im Fehlerobjekt
}

Versuchen Sie es{
wirf „Raw Message“;
}catch(message){
console.log(message);//Rohnachricht
console.log(typeof message);//string
}

Versuchen Sie es{
wirf 42;
}catch(code){
console.log(code);//42
console.log(typeof code);//number
}


Wie bei der Java-Sprache wird die Ausnahme schließlich an den Benutzer geworfen, wenn sie nicht von einer Catch-Anweisung abgefangen wird:


Code kopieren Der Code lautet wie folgt:

versuche es{
//throw new Error("test error");//Es wird ein Fehler ausgelöst: test error
}endlich{
}

Versuchen Sie es{
throw 42;//Fehler wird geworfen: 42
}endlich{
}


Zum Abfangen ausgelöster Ausnahmen verwendet JavaScript auch try/catch/finally-Anweisungen. Die Verwendungsregeln lauten: try ist erforderlich, Catch und Finally sind optionale Anweisungen, aber mindestens eine der Anweisungen „catch“ und „finally“ muss vorkommen.

In der Catch-Anweisung können Sie einen Parameter e (oder einen anderen zulässigen Variablennamen) definieren, um den ausgelösten Ausnahmewert zu speichern. Innerhalb der Catch-Anweisung kann dieser Parameter als lokale Variable verwendet werden. Im Gegensatz zu anderen Variablenverwendungen in JavaScript ist die Parametervariable in der Catch-Anweisung nur innerhalb der Catch-Anweisung gültig (der Gültigkeitsbereich der Variablen ist auf die Catch-Anweisung beschränkt).

Bei „final“-Anweisungen wird der Code in „final“ unabhängig davon ausgeführt, ob in „try“ eine Ausnahme ausgelöst wird. Zu den Details gehören:

1. In try tritt keine Ausnahme auf. Wenn die try-Anweisung ausgeführt wird, wird der Code in „finally“ ausgeführt.
2. In try tritt keine Ausnahme auf, aber wenn der Try-Code aufgrund der Ausführung von Break-, Continue- oder Return-Anweisungen beendet wird, wird der Code in „finally“ ausgeführt.
3. In „try“ tritt eine Ausnahme auf. Nachdem die Ausnahme von der „catch“-Anweisung behandelt wurde, wird der Code in „finally“ ausgeführt.
4. Wenn in try eine Ausnahme auftritt, die Ausnahme jedoch weiterhin nach oben geworfen werden muss, da keine Catch-Anweisung vorhanden ist, wird der Code in „finally“ ausgeführt. Es ist erwähnenswert, dass JavaScript in Abwesenheit einer Catch-Anweisung den Code zunächst in „finally“ ausführt und dann weiterhin eine Ausnahme auslöst.

Wenn im Final-Code eine Break-, Continue- oder Return-Anweisung erscheint, führt JavaScript diese Anweisungen direkt aus, unabhängig von den Break-, Continue- oder Return-Anweisungen, die im Try-Code vorhanden sein können, auch wenn die Catch-Anweisung fehlt verursacht eine Ausnahme. Bei der Meldung verwirft JS auch die Informationen zur Ausnahmemeldung und führt weiterhin die Break-, Continue- oder Return-Anweisungen im Final-Code aus. Wenn im Final-Code auch eine Ausnahme ausgelöst wird, verwirft JavaScript in ähnlicher Weise alle Break-, Continue- oder Return-Anweisungen im Try-Code sowie mögliche Verhaltensweisen bei der Ausnahmeberichterstattung und wirft die Ausnahme nur im Final-Code aus.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage