Исключительная ситуация – это ошибка, возникающая в программе. Исключение в Java – это объект, который описывает ошибку.
Для того, чтобы метод мог обработать исключительную ситуацию, необходимо предусмотреть программный код обработки этой ситуации. В Java для обработки исключетльных ситуаций используется блок try-catсh-finally. Блоков catch может быть множество.
Общая схема использования блока try-cath-finally
try{ // код, который генерирует исключение }catch(тип_исключения_1 объект){ // код для обработки исключения }catch(тип_исключения_2 объект){ // код для обработки исключения }finally{ // код, который обрабатывается обязательно }
В Java существует иерархия классов, предназначенных для обработки исключительных ситуаций. В вершине этой иерархии находится суперкласс Throwable. У этого суперкласса есть два подкласса – Exception и Error. К классу Error относятся ошибки, которые невозможно обработать, например, переполнение стека памяти. Другие, существующие классы обработки исключительных ситуаций, являются наследниками класса Exception.
Рассмотрим пример исключительной ситуации, заключающейся в делении на ноль.
class Demo{ public static void main(String args[]){ int a,b; try{ b = 0; a = 100/b; }catch(ArithmeticException e){ System.out.println(“Деление на ноль: ” + e); } System.out.println(“Выполнение программы продолжено!”); } }
При запуске этой программы, на экран выводится сообщение “Деление на ноль”. Но работа программы при этом не останавливается и выведется сообщение “Выполнение программы продолжено”. Один блок try может быть вложен внутри другого блока try.