Код: Выделить всё
public class MyApp {
public static void main(String[] args) {
try {
// do stuff
} catch {
// handle errors
} finally {
// clean up connections etc.
}
}
}
< /code>
Гарантирует ли JVM, что блока, наконец, всегда будет запущен? Чтобы понять, откуда я привык, я привык к программам C /C ++, которые могут просто разбиться, если вы обозначите нулевой указатель, и у вас не может быть кода, который будет запускать после этого. или есть? Например, в Python я обычно делаю: < /p>
try:
# do stuff
except AnExceptionIKnewMightHappen:
# react in an appropriate way
except:
# log that weird error I had not known could happen
< /code>
И у меня никогда не было никакого приложения, не проходя через мой код. Кроме того, из PHP я знаю некомыслимые ошибки, от которых вы не можете защитить, хотя интерпретатор все еще был там после того, как это произошло (по крайней мере, это способно вывести правильное сообщение).
позвольте мне добавить, что я искал вещи внутри моего кода , что может привести к тому, что наконец-то обходится. Таким образом, указывая на System.Exit Подробнее здесь: https://stackoverflow.com/questions/516 ... ain-method