Quiero escribir un controlador de errores común que detecte errores personalizados lanzados a propósito en cualquier instancia del código.
Cuando me throw new Error('sample')
gustó en el siguiente código
try {
throw new Error({'hehe':'haha'});
// throw new Error('hehe');
} catch(e) {
alert(e);
console.log(e);
}
El registro se muestra en Firefox como Error: [object Object]
y no pude analizar el objeto.
Para el segundo, throw
el registro se muestra como:Error: hehe
Mientras que cuando lo hice
try {
throw ({'hehe':'haha'});
} catch(e) {
alert(e);
console.log(e);
}
la consola se mostró como: Object { hehe="haha"}
en la que pude acceder a las propiedades de error.
¿Cuál es la diferencia?
¿Es la diferencia como se ve en el código? ¿La cadena similar se pasará como cadena y el objeto como objetos, pero la sintaxis será diferente?
No he explorado arrojar objetos de error ... solo había arrojado cadenas.
¿Hay alguna otra manera que los dos métodos mencionados anteriormente?
Error
s