Java. Errores en la inicialización. Debug


Uno de las tareas que más me gustaba cuando trabajaba como desarrollador, era la parte de testado y debug, lo se, soy un friki raro. Sin embargo conforme los proyectos aumentan en complejidad, bien por cantidad de código, bien, por interrelaciones entre diferentes clases, resulta imprescindible saber manejarse con el debug, y la verdad no es nada difícil.

Encontrando el error

El primer paso será encontrar el punto donde se produce el error y comprender el porqué se produce, y aunque parece dos cuestiones iguales para nada lo son:
  • Encontrar el error en el caso de Java y Eclipse, consiste en utilizar cualquier mecanismo para saber cúal es la línea exacta donde nuestro programa deja de funcionar. Claramente, cuando el programa es más complejo o grande, debemos utilizar la combinación DEBUG+STEP INTO+STEP OVER+WATCH. En el vídeo que os facilito lo podéis observar perfectamente.
  • Una vez encontrado el error, debemos COMPRENDER PORQUÉ SUCEDE, no nos sirve con ir probando de forma aleatoria.
Voy a utilizar como ejemplo el código de un muy buen alumno ya que podemos utilizarlo perfectamente para esto que estamos explicando. Pero antes de ver dónde se encuentra el problema os animo a que vosotros mismos lo busquéis:
Descárgate o visualiza el código CON ERRORES a través de mi cuenta en GitHub
CÓDIGO EN GITHUB
En el siguiente vídeo podéis ver cómo encontrar el error:



Una vez que sabéis dónde está el error, es necesario comprender el porqué, en el siguiente video se muestra porqué se produce el error:



Corregir el error

Una vez que hemos encontrado el error, nos toca corregirlo. En este caso es un problema de inicialización combinado con orden de inicialización de los diferentes objetos. Una vez que hayáis corregido el error podéis compararla con mi solución (NO HAY UNA SOLUCIÓN ÚNICA)



Descárgate o visualiza el código CORREGIDO a través de mi cuenta en GitHub
CÓDIGO EN GITHUB
En el siguiente vídeo podéis ver cómo corregir el error:



Share this

Related Posts

2 comentarios

comentarios
26 de abril de 2016, 5:27 delete

Gracias. Es algo muy importante para un desarrollador conocer el uso de las herrammientas de debug

Reply
avatar