Hace unos momentos estaba probando una pequeña librería que estoy escribiendo y al probarla en una aplicación en consola me lanzaba una excepción. Pero, cómo puede ser que se quedara una excepción sin capturar?? si el método que lanzaba la excepción estaba encerrado en un bloque try-catch tenía que ser imposible que se lanzara la excepción!!!

Mirando la jerarquía de excepciones que se lanzaban todo parecía que estaba bien, entonces será que, el código fuente de Microsoft está mal?? pero eso no puede ser!!! aunque creo que todos lo hemos pensado alguna vez, yo desde luego, SÍ. Tras un rato de quebradero de cabeza me dispongo a darle una pasada al código y... chan!! sorpresa para mi que encuentro donde estaba el error, es unos de los problemas que tiene el  hacer un copy paste si no nos fijarnos bien en si tenemos que cambiar algo en el código. En el ultimo catch volvía a llamar al método que lanzaba la excepción!!! que cabeza la mía... todo por intertar ahorrarme el escribir unas líneas de nuevo y al final pierdo mas tiempo...

Esto me trae a la mente, allá cuando empece a juguetear con Java, un caso similar en el que tardé un día o día y medio en encontrar el problema, y claro, el entorno que utilizaba no era tan preciso como, por ejemplo lo es VS2005, en éste, a lo mejor el error se encontraba en varias líneas arriba o abajo de código de en la que el entorno de desarrollo te indicaba que estaba el error. Todo eso fue por un punto (. ), si por un maldito punto mal puesto!!!

Mi conclusión de todo esto es que:

El tiempo que tardamos en resolver un error "complejo" es proporcional a lo absurdo del problema.