Итак, мне назначили научить блок обработке исключений, и я столкнулся с вопросом, на который у меня нет ответа. Какие действительные (например, не приводят к компилятору или времени выполнения) команды в Java не будут выполнять окончательный блок?Допустимые команды, которые сохраняют блок finally от выполнения на Java
Оператор return
не будет делать этого, но заявление System.exit(0)
будет. Мое понимание состоит в том, что блок finally будет выполняться независимо от того, что. Какие (действительные) операторы будут препятствовать тому, чтобы блок finally сделал это, и почему?
Целью 'finally' является выполнить что-то независимо от того, что (в терминах сценария try-catch). Таким образом, выборочное обход «наконец» использует механизм для достижения чего-то, что не предназначено для этого. Я предполагаю, что есть некоторая проблема в логическом потоке/дизайне. Есть ли у вас какой-то прецедент, когда это необходимо или это общий вопрос? Используя 'exit', тогда звучит правильный ответ, если продолжение программы не ожидается. –
'Machine.emergencyPowerOff()' – ZhongYu