Це може здатися питанням програмування 101, і я думав, що знаю відповідь, але тепер мені здається, що потрібно ще раз перевірити. У цьому фрагменті коду нижче, чи буде виняток, викинутий у перший блок вилучення, спійманим загальним блоком вилову винятків нижче?
try {
// Do something
} catch(IOException e) {
throw new ApplicationException("Problem connecting to server");
} catch(Exception e) {
// Will the ApplicationException be caught here?
}
Я завжди думав, що відповідь буде «ні», але зараз у мене є якась дивна поведінка, яка може бути викликана цим. Відповідь, мабуть, однакова для більшості мов, але я працюю на Java.