Исключения (exceptions) в Java
1
Исключения и утверждения
•Исключения (exceptions) обрабатывают непредвиденные ситуации – неверные параметры, сетевые ошибки, некорректную работу с файлами и так далее
•Утверждения (assertions) реализуют механизм т.н. «проверочных утверждений» и позволяют тестировать поведение или ограничивать программное обеспечение
2
Исключения
•Ситуации, которые могут возникнуть в корректной программе называются контролируемыми исключениями и обрабатываются с помощью класса Exception.
•Критические ситуации, которые соответствую фатальным ошибкам или багам программы, называются неконтролируемыми исключениями и обрабатываются с помощью класса Error. При этом ошибки времени выполнения обрабатываются отдельным классом
RuntimeExceptions.
•Документация API описывает контролируемые исключения, которые могут возникнуть при выполнении программы и должны перехватываться.
3
Классификация исключений
4
Пример исключения
5
Обработка исключений оператором try-catch
6
Обработка исключений оператором try-catch
7
Одновременная обработка нескольких исключений
8
Механизм стека вызовов
•Если исключение не перехватывается (обрабатывается) в
текущем операторе try-catch, то оно передается вызывающему (главному) методу.
•Если исключение передается в главный метод, но не обрабатывается там, то это приводит к аварийному завершению программы.
9
Оператор finally
Оператор finally описывает блок кода, который
всегда будет выполнен.
10