Może się to wydawać pytaniem o programowanie 101 i myślałem, że znam odpowiedź, ale teraz muszę sprawdzić dwukrotnie. W tym fragmencie kodu poniżej, czy wyjątek rzucony w pierwszym bloku catch zostanie następnie przechwycony przez ogólny blok Exception catch poniżej?
try {
// Do something
} catch(IOException e) {
throw new ApplicationException("Problem connecting to server");
} catch(Exception e) {
// Will the ApplicationException be caught here?
}
Zawsze myślałem, że odpowiedź brzmi: nie, ale teraz mam dziwne zachowanie, które może być przez to spowodowane. Odpowiedź jest prawdopodobnie taka sama dla większości języków, ale pracuję w Javie.