Was ist der Unterschied zwischen Error und Exception in Javascript?
Scheint es, dass Error
und Exception
sind die gleiche Sache: die beiden von Ihnen ausgelöst werden können mit einem throw
Anweisung und fing mit einem try catch
block.
- Ein bisschen googlen ist nie verkehrt, java67.blogspot.nl/2012/12/...
- ""Ausnahmen" bezieht sich auf Fehler (runtime), die behoben werden können und gesteuert werden. im Gegensatz zu "Fehler", die sind einfach nur schlecht-syntax und brechen der compiler voll... " - forums.digitalpoint.com/threads/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
JavaScript-syntax
Fehler und Ausnahmen sind syntaktisch Synonym sind, in JavaScript. Die Sprache implementiert nur die
Error
Schlagwort (durchwindow.Error
). Sie können definieren, benutzerdefinierte Fehlermeldungen, die mit derError.constructor
nimmt, diename
undmessage
als Parameter.JavaScript-Fehler
Dort ist auch die Nummer der Zeile, Zucker kann verwendet werden, um trace-Fehler vorkommen der code drin. JavaScript hat nur
Error
. Ob Sie hören, wie Leute reden überExceptions
oderErrors
im JavaScript-Sie beziehen sich auf die gleiche Sache.Browsern unterscheiden:
ReferenceError
(beim Zugriff auf eine variable mit einem Namen, der nicht vorhanden ist, in den Haufen, oder wenn Sie einen Tippfehler(mehr hier.),TypeError
ist auch ein bekanntes JS-Fehler, mehr hier.JavaScript-Ausnahme
Einem bekannten JavaScript -
Exception
istDOM Exception 8
. Es tritt auf, wenn Sie auf ein Objekt zuzugreifen, das nicht bereit ist, wie einXMLHttpRequest
, die noch nicht abgeschlossen hat, verlangen.Umsetzung
Bei der Verwendung
try catch
odertry catch finally
- Blöcken beschäftigen Sie sich sowohl mit JavaScriptException
undError
. Code-Weise der Unterschied hat keine Auswirkungen.Hinter den kulissen, die Browser verwenden die gleichen
window.Error
constructor
. EinException
ist einError
Instanz mit einemname
undmessage
enthalten "Ausnahme".Versuchen:
var myCustomError = new Error("myException", "An exception occurred.");
. "Ausnahme" ist der text in einem string. Mehr aufError
hier.Übereinkommen
Durch Konvention, es gibt einen Unterschied zwischen
Error
undException
. EinError
zeigt eine deutliche Verletzung. EinTypeError
oderReferenceError
heißt, Sie sind nicht nach der Sprache-Spezifikationen.Einer
Exception
geworfen wird, wenn Sie auf eineXMLHttpRequest
Antwort, bevor es abgeschlossen ist.Error
ist eine "Sie brachen das Gesetz" Schreien undException
ist ein "Fast da!" - pad auf der Schulter. Hoffe, die Analogie hilft!Basiert auf der Vortrag, die Fehler ausgelöst werden, der JavaScript-engine und die Ausnahme, die ausgelöst werden durch den Entwickler. es ist nur Namenskonvention.
In technischer Aspekt ist die gleiche Struktur (Sache).
Ich denke, dass das ein Fehler ist etwas zu ernst, Sie sollten nicht versuchen zu fangen
Eine Ausnahme ist etwas, das sollte gefangen werden, in so weit als es möglich ist, es zu handhaben.
Ein Fehler ist, wenn etwas falsch oder ungültig passiert im code. Es kann zu einem Speicherfehler, es ist etwas, das sollte nie passieren wird und kann nicht behandelt werden.
In der Erwägung, dass eine Ausnahme wirft etwas, wenn bestimmte Bedingungen erfüllt sind, in den code. Es entspricht möglicherweise nicht ein echter Fehler.
Wenn wir diesen code ausführen, werden wir beobachten, dass fangen Klausel erhalten , was wir werfen mit throw-Schlüsselwort. Es bedeutet, dass wenn wir throw string empfangen wir Zeichenfolge, wenn wir das Objekt werfen wir erhalten Objekt, wenn wir werfen die Zahl, die wir erhalten Anzahl.
Hinweis: Also, wenn wir Fehler schmeißen wir erhalten Fehler.
Daher das Fazit ist, was wir werfen mit throw-Schlüsselwort als Ausnahme. Wenn wir nicht fangen(oder Griff), ist es dann unsere Javascript-code in die Luft sprengt.