Всем привет! Все еще эта тема не идет гладко, помогите понять происходящее, пожалуйста)
Я понимаю так:
1. Error — ошибки на уровне JVM, поэтому мы даже не пробуем их обработать, а меняем код
2. Все, что является наследником Exception — некритичные баги. То есть в целом все в нашей программе хорошо, но в каких-то случаях (к примеру, при некорректных параметрах в методе) может возникнуть исключение, которое нам достаточно обработать прямо на месте (в блоке catch или пробросить дальше).
3. Деление исключений на проверяемые и непроверяемые было ошибкой, и сейчас проверяемые исключения практически не используются — все всячески стараются сделать так, чтобы не работать в чистом виде с checked-исклбючениями.
Есть три вопроса:
1. По какой логике когда-то выделили часть исключений в проверяемые? Есть ли какое-то отличие от непроверяемых исключений? Возможно, все IOException связаны с ресурсами? А RuntimeException нет?
2. Класс Exception относится к проверяемым или к непроверяемым исключениям?
3. Класс Throweable относится к проверяемым или к непроверяемым исключениям?
Ada
46 уровень
В чем суть checked-исключений? (три вопроса)
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Нурлан Работает в ищу работу
6 мая 2022, 09:30полезный
Если убрать проверяемые исключения в ошибки, то в простой ситуации: (счет клиента разделить на ноль) нужно будет останавливать работу всего банка.
По другим вопросам:
+2
Ada
6 мая 2022, 09:35
1. Я понимаю, что их не надо засовывать в error, скорее не понимаю, чем по своей сути отличаются проверяемые и непроверяемые исключения (да, для программиста есть разная логика работы с ними, но ведь почему-то решили, что нужна разная логика работы)
2. Все равно не поняла, Exception и Throwable не относятся ни к проверяемым, ни к проверяемым?
0
Нурлан Работает в ищу работу
7 мая 2022, 21:43
Суть там такая: до чего программист может дотянутся и исправить на этапе создания программы - нужно давать доступ. Дальше программа живет по воле компьютера. Программист в своей программе может предсказать все негативные события при исполнении его кода и их либо выкидывает в стек для отладки, либо пишет попытки-исключения, то есть закладывает возможную ошибку в программу с решением её. Это как в машину поставить подушки безопасности, без них ездить можно, но лучше когда они стоят.
0