Contenido

Diagnosticando errores javascript más fácilmente con Error.stack

11 may

+ 2

Hoy, IEBlog publica un artículo muy interesante sobre el tratamiento de errores en IE10 sobre Windows 8. Al parecer, este último incluye soporte para un nuevo atributo al objeto Error(), el Error.stack, que activado desde las Web Developer Toolbars de IE10 nos ayudará a detectar los errores de forma más rápida.

Error.stack en IE10
(Ver Imagen)

Como podemos ver, nos ofrece una información detallada del error, al puro estilo Java mostrando toda la traza del error producido. Por lo tanto, nuestros try/catch vendrán cargados con todo lo necesario para conocer la causa de nuestros problemas, además podremos limitar el nivel de profundidad de dicha traza mediante el atributo stackTraceLimit disponible de igual modo en el objeto Error(). Una funcionalidad muy interesante que seguro nos ayudará a solventar los problemas que nos encontremos en IE10 … que seguro que los encontramos :D

  • No se qué pensar… como enamorado del JS estoy de acuerdo en que conviene ir mejorando el sistema de errores (aunque Firebug y derivados ya han hecho mucho por conseguirlo), pero como “sufridor” de Java se de primera mano que el sistema de try-catch suele provocar código infumable en días de poca inspiración.

    Con la predisposición que tiene JavaScript para generar código inteligible cuando se hacen las cosas rápido y mal, miedo me da como puede quedar si también empezamos a anidar try-catches por todas partes :-)

    • @alberto bastos: Tienes razón, el problema está cuando la gente usa los try/catch como if’s y/o condicionales varios. Pero esto es una muy mala práctica.

      En Javascript, desde hace ya tiempo tenemos try/catch y yo los uso bastante, sobretodo para controlar esos fallos que puedes preveer y ofrecer una alternativa ágil al usuario.

      A mi lo que me asusta más, es el churro de datos que puede llegar a mostrarnos en un error en script complejos y/o largos… en Java a veces puede llegar a darte un embolia si intentas entenderlo :D

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.