==Исключения==
{{ОпределениеВ Java возможна обработка ошибок с помощью исключений, которые позволяют: *разделить обработку ошибок и сам алгоритм;|definition=*не загромождать код проверками возвращаемых значений;Исключениями или исключительными ситуациями (состояниями) называются *обрабатывать ошибкина верхних уровнях, если на текущем уровне не хватает данных для обработки. Например, при написании универсальной процедуры чтения из файла невозможно заранее предусмотреть реакцию на ошибку, возникшие в программе во время её работытак как эта реакция зависит от использующей процедуру программы.}}Каждый раз, когда при выполнении программы происходит ошибка, создается объект-исключение, содержащий информацию об ошибке, включая её тип и состояние программына момент возникновения ошибки.
После создания исключения среда выполнения пытается найти в стеке вызовов метод, который содержит код, обрабатывающий это исключение. Поиск начинается с метода, в котором произошла ошибка, и проходит через стек в обратном порядке вызова методов. Если не было найдено ни одного подходящего обработчика, выполнение программы завершается.
#Заполнение stack trace'а этого исключения.
#Stack unwinding (раскрутка стека) в поисках нужного обработчика.
==Типы исключений==
===Проверяемые исключения===