¿Pueden haber 2 excepciones "volando" a la vez?
No.
Cuando se lanza una
excepción, esta va saltando hasta que la pilla el primer catch que encuentra,
momento en que deja de volar.
El catch que pilla
una excepción puede hacer varias cosas:
1. puede absorberla y se acaba el asunto
try
{
...
throw new Exception("error x");
…
} catch
(Exception e) {
System.err.println("aquí se
captura la excepción " + e);
}
2. puede relanzarla y la excepción sigue volando
hasta que encuentre otro catch
try
{
...
throw new Exception("error x");
…
} catch
(Exception e) {
System.err.println("por aquí pasa la
excepción " + e);
throw e;
}
3. puede lanzar otra excepción, perdiéndose la
primera
try
{
...
throw new Exception("error x");
…
} catch
(Exception e) {
System.err.println("aquí se captura la
excepción " + e);
throw new Exception("error
y");
}
Temas relacionados
68. Excepciones [exceptions] (concepto)