Middle
¿Qué sucede cuando se lanza una excepción en un flujo?
sobes.tech AI
Respuesta de la IA
La propagación hacia abajo (desenrollado) de la pila de llamadas: la JVM busca un manejador de excepciones adecuado (bloque catch) en el método actual, luego en el método que lo llamó y así sucesivamente hacia arriba en la pila.
Si se encuentra un manejador:
- Se ejecuta el código del bloque
catch. - Puede ejecutarse el bloque
finally. - La ejecución del programa continúa después del bloque
try-catch-finally.
Si no se encuentra un manejador:
- Se llama al método
uncaughtExceptiondelThreadGroupcorrespondiente, si ha sido sobrescrito. - Se usa el manejador por defecto (
Thread.getDefaultUncaughtExceptionHandler), si está establecido. - Si ninguno de los manejadores anteriores está establecido, la traza de la pila de la excepción se imprime en la salida estándar de errores, y el hilo termina.
En otros hilos, la ejecución del programa continúa independientemente del hilo que terminó.