Рубрики
Без рубрики

Учебник по Java – 6 Обработка исключений

Обработка исключений – это механизм восстановления при возникновении ошибки или исключения в коде. Исключение… С пометкой java, учебник, новички.

Обработка исключений – это механизм восстановления при возникновении ошибки или исключения в коде. Обработка исключений – полезный инструмент, позволяющий убедиться, что программа или код все еще работают, несмотря на возникновение исключения.

Создайте обработку исключений

Для создания обработки исключений в Java можно использовать try catch блок. Блок try содержит код, который потенциально может вызвать исключение. Блок catch содержит код, который будет выполнен в случае возникновения исключения. Это основной синтаксис попробуйте поймать блок.

try {
    // code..
} catch(exception_type e) {
    // code..
}

Это пример использования try catch для обработки исключения.

public class MyApp {
    public static void main(String[] args) {
        try {
            // execute the division operation
            int num = 20 / 0;
            // print out the result
            System.out.println("Result: " + num);
        } catch (Exception e) {
            // print the exception's message if exception is occurred
            System.out.println("Exception: " + e.getMessage());
        }
    }
}

Выход

Exception: / by zero

Основываясь на приведенном выше коде, в этом коде возникает исключение, затем выполняется код внутри блока catch для печати сообщения об исключении. Исключение возникает из-за невозможности деления на ноль, поэтому возникает или возникает исключение.

Также доступен блок наконец . По сути, код внутри блока finally выполняется независимо от того, выдает код исключение или нет.

Это пример использования блока finally .

public class MyApp {
    public static void main(String[] args) {
        try {
            // execute the division operation
            int num = 20 / 0;
            // print out the result
            System.out.println("Result: " + num);
        } catch (Exception e) {
            // print the exception's message if exception is occurred
            System.out.println("Exception: " + e.getMessage());
        } finally {
            // execute this code
            System.out.println("I'm done!");
        }
    }
}

Выход

Exception: / by zero
I'm done!

Основываясь на приведенном выше коде, код внутри блока finally все еще выполняется, хотя и возникает исключение.

В этом коде блок finally все еще выполняется, хотя код выполнен успешно.

public class MyApp {
    public static void main(String[] args) {
        try {
            // execute the division operation
            int num = 20 / 10;
            // print out the result
            System.out.println("Result: " + num);
        } catch (Exception e) {
            // print the exception's message if exception is occurred
            System.out.println("Exception: " + e.getMessage());
        } finally {
            // execute this code
            System.out.println("I'm done!");
        }
    }
}

Выход

Result: 2
I'm done!

Если исключение возникло внутри блока try , остальные коды внутри блока try игнорируются.

public class MyApp {
    public static void main(String[] args) {
        try {
            // execute the division operation
            int num = 20 / 0; // exception is thrown here.
            // this code is ignored
            System.out.println("Result: " + num);
        } catch (Exception e) {
            // print the exception's message if exception is occurred
            System.out.println("Exception: " + e.getMessage());
        }
    }
}

Создайте пользовательское исключение

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

// example
public static int sum(int[] nums) throws Exception { }

Исключение функции может быть обработано с помощью try catch блока. Это пример использования бросков в функции.

public class MyApp {
    public static void main(String[] args) {
        try {
            // execute a function that throws an exception
            regularFunc(1000);
        } catch (Exception e) {
            // get the exception's message
            System.out.println("Message: " + e.getMessage());
        }
    }

    // create a function that throws RuntimeException
    public static void regularFunc(int num) throws RuntimeException {
        if (num > 100)
            throw new RuntimeException("It's too much!");
        else
            System.out.println("Good to go!");
    }
}

Выход

Message: It's too much!

Основываясь на приведенном выше коде, генерируется исключение и выполняется код внутри блока catch . обратите внимание, что сообщение об исключении определено внутри аргумента метода RuntimeException() в обычной функции Func() .

Источники

  • Узнайте больше об исключении по этой ссылке .

Я надеюсь, что эта статья будет полезна для изучения языка программирования Java. Если у вас есть какие-либо мысли или комментарии, вы можете написать в разделе обсуждения ниже.

Оригинал: “https://dev.to/nadirbasalamah/java-tutorial-6-exception-handling-3f68”