Ich möchte einen allgemeinen Fehlerbehandler schreiben, der benutzerdefinierte Fehler abfängt, die absichtlich in jeder Instanz des Codes ausgelöst werden.
Als ich throw new Error('sample')
im folgenden Code mochte
try {
throw new Error({'hehe':'haha'});
// throw new Error('hehe');
} catch(e) {
alert(e);
console.log(e);
}
Das Protokoll wird in Firefox als angezeigt Error: [object Object]
und ich konnte das Objekt nicht analysieren.
Für die Sekunde throw
zeigt das Protokoll Folgendes:Error: hehe
Während als ich tat
try {
throw ({'hehe':'haha'});
} catch(e) {
alert(e);
console.log(e);
}
Die Konsole zeigte Folgendes an: Object { hehe="haha"}
in dem ich auf die Fehlereigenschaften zugreifen konnte.
Was ist der Unterschied?
Ist der Unterschied im Code zu sehen? Wie String wird nur als String und Objekt als Objekte übergeben, aber die Syntax wird anders sein?
Ich habe das Werfen von Fehlerobjekten nicht untersucht. Ich habe nur Zeichenfolgen geworfen.
Gibt es einen anderen Weg als die beiden oben genannten Methoden?
Error
s