- исключение
- Исключение — это объект, представляющий нестандартную ситуацию, возникающую во время выполнения программы.
- try-catch
- Блок try используется для обозначения участка кода, в котором могут возникнуть исключения. Блок catch предназначен для обработки этих исключений.
- finally
- Блок finally выполняется всегда после try и catch, независимо от того, возникло исключение или нет. Используется для освобождения ресурсов.
- throw
- Блок throw используется для генерации исключения в программе. После throw выполнение программы прекращается до обработки исключения.
- иерархия исключений
- Исключение может быть перехвачено только тем блоком catch, который соответствует типу исключения. Если тип не совпадает, исключение «пролетает» дальше.
- пользовательское исключение
- Исключение, созданное пользователем, должно наследоваться от класса Exception или его потомков. Это позволяет системе обрабатывать его корректно.
- множественные блоки catch
- Блок try может содержать несколько блоков catch, каждый из которых обрабатывает исключения определённого типа. Если исключение не соответствует ни одному из них, оно «пролетает» дальше.
- rethrow
- Исключение может быть повторно выброшено с помощью оператора rethrow, если его обработка не завершена в текущем блоке catch. Это позволяет передать исключение дальше.
- переменная исключения
- Блок catch может содержать переменную, в которую записывается объект исключения. Это позволяет получить доступ к информации об исключении.
- генерация исключения
- Исключение может быть вызвано не только в блоке try, но и в любом другом участке программы, где используется оператор throw. Это позволяет гибко управлять ошибками.
- соответствие типов исключений
- Исключение может быть перехвачено только тем блоком catch, который соответствует типу исключения. Если тип не совпадает, исключение «пролетает» дальше. Это позволяет избежать случайной обработки неподходящих ошибок.
- обработка исключения в любом месте программы
- Исключение может быть обработано в любом месте программы, где используется блок try. Это позволяет локализовать обработку ошибок в нужном месте.