catch (NumberFormatException eNumberFormat)
{ // перехват ошибки преобразования
System.out.println("Ошибка преобразования из строки в число, " + eNumberFormat);
}
System.out.println("В конце вызова z=" + z);
}
}
В этом случае ошибка деления на ноль в методе delenie() не обрабатывается, а выбрасывается в вызвавший его метод main(), где и перехватывается соответствующим блоком catch(). Неконтролируемое исключение класса ArithmeticException не нужно указывать в заголовке метода delenie().
В Java существует целая иерархия классов, предназначенных для обработки исключительных ситуаций. В вершине этой иерархии находится суперкласс Throwable (от throw able – способный возбудить). От Throwable наследуются классы Error (ошибка) и Exception (исключение). Объекты класса Error - неконтролируемые (непроверяемые) исключения, которые невозможно перехватить в блоках catch. Такие исключения представляют фатальные ошибки, после которых нормальная работа программы невозможна, например, переполнение стека. Объекты класса Exception – контролируемые исключения. У этого класса есть подкласс неконтролируемых исключений RuntineException – ошибок времени выполнения программы, которые, однако, перехватываются программами пользователя. Исключения для этого класса определяются автоматически. Подклассы класса RuntineException не нужно декларировать в заголовке методов после слова throws. Наиболее распространенные из них:
ArithmeticException ошибка, связанная с выполнением арифметических операций, например, деление на ноль целых чисел,
IndexOutOfBoundsException индекс элемента вышел за пределы допустимого диапазона:
ArrayIndexOutOfBoundsException при обращении к массиву,
StringIndexOutOfBoundsException при обращении к строке,
ArrayStoreException присваивание элементу массива значения несовместимого типа,
ClassCastException приведение несовместимых типов,
IllegalArgumentException передача методу недопустимого аргумента,
IllegalStateException приложение не готово к вызову,
NegativeArraySizeException попытка создания массива отрицательной длины,
NullPointerException попытка обращения к объекту, содержащему пустую ссылку null,
NumberFormatException неудачная попытка преобразования строки в число,
SecurityException попытка нарушения режима безопасности.
Не нашли, что искали? Воспользуйтесь поиском:
|