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?