Try-catch-finally в java

В Java не будет ли блок finally выполняться, если мы вставим оператор return внутрь блок try в try-catch-finally?

27
задан Nikhil 22 August 2011 в 06:20
поделиться

3 ответа

В соответствии с официальным объяснением :

Примечание. Если JVM завершает работу во время выполнения кода try или catch, то блок finally может не выполняться. Аналогично, если поток, выполняющий код try или catch, прерывается или уничтожается, блок finally может не выполняться, даже если приложение в целом продолжается.

Я думаю, что это хорошая идея, что мы должны обратиться к официальному сайту, прежде чем публиковать ответ здесь.

0
ответ дан 28 November 2019 в 05:32
поделиться

Если ваш блок finally имеет возвращаемый результат, он переопределит любое возвращение в блоке try-catch. Из-за этой «особенности» хорошей практикой является то, что блок finally никогда не должен вызывать исключение или иметь оператор return.

0
ответ дан 28 November 2019 в 05:32
поделиться

Если вы позвоните System.exit(), как сказал кто-то другой, он не будет выполнен, но я считаю, что он также не будет выполнен , если есть исключение в блоке исключений .

-3
ответ дан 28 November 2019 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: