Parte 3 de la serie Java interview question series. En este artículo revisamos conceptos clave sobre excepciones en Java y patrones de manejo de errores que suelen preguntarse en entrevistas técnicas.
Q31: Qué son las excepciones y cuáles son sus tipos
A31: Una excepción es cualquier evento o problema que ocurre durante la ejecución de un programa y que interrumpe el flujo normal del código. Pueden ocurrir en tiempo de compilación o en tiempo de ejecución. Hay dos tipos principales de excepciones. Checked Exception son las que detecta el compilador y deben manejarse antes de ejecutar el programa, por ejemplo FileNotFoundException. Unchecked Exception ocurren en tiempo de ejecución por errores lógicos o uso indebido de APIs, por ejemplo ArrayIndexOutOfBoundsException.
Q32: Se puede escribir un bloque try sin catch
A32: Sí se puede escribir try sin catch siempre que se incluya un bloque finally o se use try with resources. Un try puede existir acompañado únicamente de finally para garantizar limpieza de recursos.
Q33: Cuándo no se ejecuta el bloque finally
A33: El bloque finally no se ejecuta únicamente cuando la JVM termina abruptamente, por ejemplo si se llama a System.exit o si ocurre un fallo fatal del propio JVM.
Q34: Qué ocurre si se lanza una excepción con throw dentro de finally
A34: El throw dentro de finally tiene precedencia y sobreescribe cualquier excepción lanzada previamente en try o catch. En la práctica la excepción lanzada en finally será la que se propague fuera del bloque.
Q35: Diferencia entre throw y throws
A35: throw es una instrucción que provoca explícitamente una excepción en tiempo de ejecución instanciando y lanzando un objeto excepción. throws se usa en la firma de un método para declarar que ese método puede lanzar determinadas excepciones y para que el compilador obligue a su manejo.
Q36: Cómo crear excepciones personalizadas checked y unchecked
A36: Para crear una excepción unchecked se extiende RuntimeException. Para una excepción checked se extiende Exception. De esta forma se controla si la excepción exige manejo en tiempo de compilación o no.
Q37: Try with resources
A37: Try with resources es una forma introducida en Java 7 que cierra automáticamente los recursos declarados dentro del paréntesis del try, evitando la necesidad de cerrar manualmente en finally. Ejemplo conceptual: try (FileReader fr = new FileReader(file)) catch (IOException e) handle. Sustituye el patrón antiguo que declaraba y cerraba recursos en finally.
Q38: Manejo de excepciones y overriding de métodos
A38: Caso 1 cuando el método padre no declara excepciones, el método sobrescrito en la clase hija no puede declarar excepciones checked pero sí puede declarar unchecked. Caso 2 cuando el método padre declara una excepción checked, la clase hija puede declarar la misma excepción, una subclase de esa excepción o no declarar ninguna, pero no puede declarar una excepción de mayor jerarquía que la declarada por el padre.
Consejos prácticos sobre excepciones en entrevistas
Dominar la diferencia entre excepciones checked y unchecked, saber cuándo usar throw y throws, y comprender try with resources y el comportamiento de finally son temas frecuentes. También conviene practicar ejemplos donde finally lanza otra excepción y cómo afecta al flujo de control.
Sobre Q2BSTUDIO
Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones innovadoras para empresas. Ofrecemos servicios de software a medida, aplicaciones a medida y consultoría en inteligencia artificial para empresas. Somos expertos en ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones con Power BI. Además desarrollamos agentes IA y plataformas de inteligencia artificial orientadas a casos de negocio. Nuestro enfoque combina experiencia técnica y metodologías ágiles para entregar productos robustos, seguros y escalables.
Palabras clave y posicionamiento
En Q2BSTUDIO trabajamos con aplicaciones a medida y software a medida integrando inteligencia artificial e ia para empresas. Proveemos ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, agentes IA y soluciones con power bi para mejorar la toma de decisiones y la competitividad digital de nuestros clientes.
Contacto y llamada a la acción
Si necesitas desarrollar una aplicación a medida, mejorar tu seguridad, aprovechar servicios cloud o desplegar inteligencia artificial en tu organización, contacta con el equipo de Q2BSTUDIO para una consultoría personalizada y una propuesta adaptada a tus necesidades.
Happy learning y mucho éxito en tus entrevistas de Java