584 Stimmen

Was ist der Unterschied zwischen `throw new Error` und `throw someObject`?

Ich möchte eine gemeinsame Fehlerbehandlung schreiben, die benutzerdefinierte Fehler abfangen wird, die absichtlich in jeder Instanz des Codes ausgelöst werden.

Als ich das tat throw new Error('sample') wie in folgendem Code

try {
    throw new Error({'hehe':'haha'});
    // throw new Error('hehe');
} catch(e) {
    alert(e);
    console.log(e);
}

Das Protokoll wird in Firefox als Error: [object Object] und ich konnte das Objekt nicht analysieren.

Für die zweite throw zeigt das Protokoll Folgendes an: Error: hehe

Als ich hingegen

try {
    throw ({'hehe':'haha'});
} catch(e) {
    alert(e);
    console.log(e);
}

zeigte die Konsole an: Object { hehe="haha"} in dem ich auf die Fehlereigenschaften zugreifen konnte.

Worin besteht der Unterschied?

Ist der Unterschied wie im Code zu sehen? Wie String wird nur als String und Objekt als Objekte übergeben werden, aber die Syntax wird anders sein?

Ich habe nicht erforscht werfen Fehler Objekt Ich hatte nur werfen Zeichenfolgen getan.

Gibt es einen anderen Weg als die beiden oben genannten Methoden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X