Error.getStackTrace()
Cuando el compilador de FlexBuilder nos lanza un error en tiempo de ejecución, automáticamente veremos una pila de lineas relacionadas con dicho error. Digamos que tenemos la siguiente estructura de objetos:
Clase Main alberga > clase Menú que alberga > clase Boton
Si uno de los botones genera un error, FlexBuilder nos dirá que en la línea x de la clase Botón hay un error, y seguidamente, nos mostrará el “camino” que ha seguido la aplicación para llegar a dicho error. En este caso el camino sería algo así (pseudo error imaginario claro):
Se ha intentado acceder a un objeto nulo: clase Boton, linea 27
[....] Menu, linea 69
[....] Main, linea 10
Pues bién, esta forma de mostrar los errores no es una característica de Flex Builder. En realidad es un método de la clase “Error” de ActionScript 3. Concretamente el método “getStackTrace()“.
¿Que para qué me sirve saber esto?
Pues resulta que si compilas con Eclipse FDT (por ejemplo), desgraciadamente los errores no vienen seguidos de su stack trace, y es mucho más dificil captarlos, o saber de dónde vienen.
Todavía no he descubierto la manera de que esto sea automático, pero en su lugar hago mucho uso de las sentencias try-catch, con las que podemos simular lo que os contaba:
try { trace("Esto podría generar un error:", objeto.HacerAlgo()); }catch(e:Error) { trace(e.getStackTrace()); // esto nos lanza todo el stack trace si se produce un error }
Espero que os sirva si trabajáis con FDT, y si por casualidad alguien sabe cómo hacer que esto salga por defecto como en Flex Builder, soy todo orejas. Yo he preguntado en el foro de FDT, pero nadie me conesta =(




