Всем привет! Все еще эта тема не идет гладко, помогите понять происходящее, пожалуйста) Я понимаю так: 1. Error — ошибки на уровне JVM, поэтому мы даже не пробуем их обработать, а меняем код 2. Все, что является наследником Exception — некритичные баги. То есть в целом все в нашей программе хорошо, но в каких-то случаях (к примеру, при некорректных параметрах в методе) может возникнуть исключение, которое нам достаточно обработать прямо на месте (в блоке catch или пробросить дальше). 3. Деление исключений на проверяемые и непроверяемые было ошибкой, и сейчас проверяемые исключения практически не используются — все всячески стараются сделать так, чтобы не работать в чистом виде с checked-исклбючениями. Есть три вопроса: 1. По какой логике когда-то выделили часть исключений в проверяемые? Есть ли какое-то отличие от непроверяемых исключений? Возможно, все IOException связаны с ресурсами? А RuntimeException нет? 2. Класс Exception относится к проверяемым или к непроверяемым исключениям? 3. Класс Throweable относится к проверяемым или к непроверяемым исключениям?