Приветствую Вас ГостьСреда, 15.05.2024, 18:24

Каталог статей


Исключения

Исключения представляют собой объекты, которые позволяют обработать исключительную ситуацию.

Для отлова исключительных ситуаций используют конструкцию

try {

// выполняемый код, в котором возможна ошибка

} cath ... {

// обработка исключения

} finally {

// код, который выполняется в любом случае, есть ошибка или нет

}

Каждый тип исключительной ситуации обрабатывается отдельным видом исключения. 

В самом общем виде можно описать исключение типа Exception, так как остальные типы исключений наследуют этот класс:

catch (Exception e) , где e - это объект класса Exception.

Если указан обработка различных исключений, то надо указывать данное исключение в самом конце, иначе до специфических очередь не дойдет. Например:

class Program {
    public static void main(String[] args) {
        int a = 10;
        try {
            a = a / Integer.parseInt(args[0]);
            System.out.println("10 / " + args[0] + " = " + a);
        } catch (ArithmeticException e) {
            System.out.println("Error!");
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("Выход за пределы массива");
            // А если пользователь не ввел значения в командной строке?
        } catch (Exception e) {
            System.out.println("Другая ошибка");
        }
    }

}

Можно создавать собственные классы исключений, наследующие Exception. Для вызова собственного исключения необходимо перед созданием объекта исключения использовать слово throw (это фактически искусственная передача выполнения нужному нам блоку catch).

Пример:

class MyDivByZero extends Exception {
    public void MyDivByZero() {
        System.out.println("Что такое? Вы решили делить на 0?");
    }
}
class Arithmetic {
    public static double myDelete(double a, double b) throws MyDivByZero {
        double c;
        try {
            if (b == 0.0) {
                throw new MyDivByZero();
            }
            c = a / b;
        } catch (MyDivByZero e) {
            c = 0.0;
            System.exit(0);
        }
        return c;
    }
}

Категория: Java | Добавил: robolen (23.10.2022)
Просмотров: 166 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
Программирование [7]
Java [9]
Описание языка Java
API [0]
Примеры реализации задач [0]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0