Como tener un log de las excepciones en JavaScript

 Como soy programador en C#, normalmente puedo ir registrando en un log (un archivo o base de datos, según las preferencias, requerimientos o posibilidades) de la siguiente forma:


try {
	//algún código que dispara una excepción
}
catch (Exception ex)
{
	Log(ex.ToString());
}

Supuestamente en la función "Log" grabamos en un archivo o en la base de datos la excepción para después revisarla. La función ToString() hace que grabemos toda la información y la stacktrace que nos ayudará mucho a arreglar o descubrir la razón del problema.

En el caso de Javascript para hacer eso la función tendría que hacer una llamada al lado del servidor o a un servicio web que registre nuestras excepciones. Hay muchas librerías y formas de hacerlo. Pero si queremos ver el error y donde se presenta en la consola del navegador.

Para eso nos ayudará la función e.stack de las excepciones en Javascript. Pero esa propiedad sólo existe en Chrome y en Firefox. Ya saben, Internet Explorer o Edge siguen otros estándares. Probablemente Safari si lo tenga.

Ahora lo que podemos hacer es esto, que nos dará la línea e incluso la columna de donde está el error, si estamos en Chrome y Firefox, si es otro navegador, solo veremos la descripción del error, pero algo es mejor a nada.


try {
	//código que hace una tontería, pero no a propósito claro
}
catch(e) {
	(console.error || console.log).call(console, e.stack || e);
}

Comentarios