Voglio scrivere un gestore di errori comune che rileverà errori personalizzati lanciati di proposito in qualsiasi istanza del codice.
Quando mi è throw new Error('sample')
piaciuto nel seguente codice
try {
throw new Error({'hehe':'haha'});
// throw new Error('hehe');
} catch(e) {
alert(e);
console.log(e);
}
Il registro mostra in Firefox come Error: [object Object]
e non ho potuto analizzare l'oggetto.
Per il secondo throw
il registro mostra come:Error: hehe
Mentre quando l'ho fatto
try {
throw ({'hehe':'haha'});
} catch(e) {
alert(e);
console.log(e);
}
la console ha mostrato come: Object { hehe="haha"}
in cui sono stato in grado di accedere alle proprietà dell'errore.
Qual è la differenza?
La differenza si vede nel codice? Come stringa verrà appena passata come stringa e oggetto come oggetti ma la sintassi sarà diversa?
Non ho esplorato il lancio di un oggetto di errore ... Avevo fatto solo il lancio di stringhe.
Esiste un modo diverso dai due metodi sopra menzionati?
Error
s