Так что я просто изучаю исключения на Java, я смотрю пример, но это либо неправильно, либо я все еще не понимаю.Не является ли этот пример исключения неправильным?
Вот код:
command1;
try {
command2;
command3;
try {
command4;
command5;
} catch (MyException e) { command6; }
command7;
} catch (IOException e) {
command8;
} catch (OwnException e) {
command9;
} finally {
command10;
}
command11;
И тогда это записано, какие команды будут работать в различных сценариях, но command7 почти никогда не работать, только в одном случае, если MyException происходит во время command4.
Не так ли? Я просто изучаю, что есть шанс, что я здесь не прав, но есть шанс, что заметки учителя ошибочны, разве это не было бы правдой, если бы после команды6 после command7? Поэтому command6 и command7 должны быть в одном блоке catch, чтобы объяснить, почему command7 никогда не выполняется, только в этом случае (и я предполагаю, что он также будет выполняться, если MyException возникло во время команды5, но не каждый сценарий разыгрывается в примечаниях) ,
вы правы, и ваш учитель ошибается. Но лучший способ решить это - запустить его самостоятельно. Это было бы быстрее, чем написать SO-вопрос :) – sstan
как @sstan сказал, используйте ide (или ideone.com) и играйте с этим, вы можете увидеть его собственными глазами;) –
", но command7 is почти никогда не запускается, только в одном сценарии, если MyException возникает во время команды4 ". Это не совсем верно. Команда 7 также запускается, если не встречаются исключения в команде command4 и command5. не являясь командой7 в блоке catch после того, как команда6 имеет цель. – Jimmy