Was ist der Unterschied zwischen throw Error und console.error
Lesezeit: 2 Minuten
Was ist der Unterschied zwischen diesen beiden Aussagen, und gibt es einen guten Grund, eine über der anderen zu verwenden?
throw Error("msg");
console.error("msg");
In meiner begrenzten Erfahrung habe ich nur wirklich gesehen throw Error() Gebraucht. Gibt es dafür einen bestimmten Grund?
Gibt es auch ein Äquivalent zu console.warn() auf die selbe Art?
Ich denke, es gibt einen großen Unterschied console.error wird nur zum Drucken verwendet error & weitermachen, aber throw werde nicht weiter gehen.
– Mritunjay
19. August 2014 um 6:44 Uhr
michalh
throw ... löst eine Ausnahme im aktuellen Codeblock aus und bewirkt, dass er beendet wird oder zum nächsten übergeht catch Anweisung, wenn in a erhoben try Block.
console.error gibt nur eine rote Nachricht an die Javascript-Konsole der Browser-Entwicklertools aus und verursacht keine Änderungen des Ausführungsflusses.
Ist es möglich, console.error-Protokolle irgendwie abzufangen? Ich füge externe Skripte hinzu, die ich nicht beeinflussen kann, und leider werfen sie keine Ausnahmen, sondern melden sich in console.error an.
– Schneeball
17. September 2016 um 2:39 Uhr
Pramod S. Nikam
Einige der Unterschiede sind:
throw error(“msg”):
Stoppt die js-Ausführung.
Wird hauptsächlich für die Codeverarbeitung verwendet.
Kann den Hauptablauf der Ausführung ändern.
Diese Syntax ist größtenteils für alle Browser gleich, da dies von spezifiziert und validiert wird W3C.
console.error(“msg”):
Es zeigt nur die Ausgabe in roter Farbe an der Browserkonsole
Es wird hauptsächlich zum Drucken von Werten zu Debugging-Zwecken verwendet.
Kann den Hauptfluss der Ausführung nicht beeinträchtigen.
Diese Syntax variiert manchmal je nach Browserhersteller und ist nicht standardisiert W3C.
dh Für IE akzeptierte Syntax ist window.console.debug("msg")
Ich stelle immer mehr fest, dass der IE es liebt, die einzigartige Schneeflocke unter den Browsern zu sein. Tut Window.console.debug() mit Nicht-IE-Browsern arbeiten?
– Benutzer3886234
19. August 2014 um 7:02 Uhr
@Eclecticist – Fast alle intelligenten Konkurrenten von IE passen dies ebenfalls an. also meistens keine sorge.
– Pramod S. Nikam
19. August 2014 um 7:36 Uhr
Throw dient dazu, den Kontrollfluss tatsächlich zu ändern (aus dem aktuellen Kontext heraus und zu einem Fehlerhandler zu springen), um Fehler programmgesteuert zu behandeln. Die Konsolenanweisung dient nur zum Debuggen und Drucken von Text auf der Fehlerkonsole. Sie können sie in Verbindung sehen, zum Beispiel:
var doSomethingDangerous = function(response) {
if (isMalformed(response)) {
throw Error('Response is malformed.');
}
process(response);
};
var sendAsyncRequest = function() {
var request = buildAsyncRequest();
request.sendThen(function (response) {
try {
doSomethingDangerous(response);
} catch (e) {
console.error(e);
doSomeAdditionalErrorHandling();
}
});
};
10558600cookie-checkWas ist der Unterschied zwischen throw Error und console.erroryes
Ich denke, es gibt einen großen Unterschied
console.error
wird nur zum Drucken verwendeterror
& weitermachen, aberthrow
werde nicht weiter gehen.– Mritunjay
19. August 2014 um 6:44 Uhr