В уроках написано про работу с файлами написано, что после работы с файлом нужно закрывать работу с ним методом close(). Однако есть такая информация из лекции:
Исключения
Вроде все просто. Однако в процессе работы программы могут возникнуть исключения, и внешний ресурс так и не будет освобожден. А это очень плохо.
Не понимаю, почему ресурс не будет освобождён. Программа же закроется в тот момент, когда возникнет исключение, значит ресурс должен автоматически освободиться.
Или как то по-другому?
Игорь
16 уровень
Вопрос о закрытии ресурсов
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Игорь
6 апреля, 18:32
Спасибо.
Забыл, что Exception может быть обработано и продумана логика, что дальше делать в случае его возникновения.
+1
Justinian Judge в Mega City One Master
6 апреля, 17:47
Не обязательно.
Есть Error есть Exception.
При Error происходит остановка программы и JVM.
При Exception исключение может быть перехвачено где-то catch блоком, и программа в таком случае продолжит свою работу.
Вот пример кода:
У нас возникает исключение.
Но программа не закроется.
Программа продолжит свое исполнение, и файл как ресурс не будет закрыт.
0