«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Обработка исключений в Java

Обработка исключений в Java

Опубликовано 1 августа 2024 г.
Просматривать:958

Exception Handling In Java

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

Ошибка более критична. Это происходит за пределами кода, но в среде, в которой работает приложение. Не ожидается, что программа обнаружит и обработает ошибку.

Некоторые примеры ошибок:

  • Ошибка OutOfMemory
  • Ошибка виртуальной машины
  • StackOverFlowError

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

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

Типы ошибок выполнения в Java

В Java существует три типа ошибок выполнения. Вот разбивка каждого из них

. Ошибка времени компиляции

Этот тип ошибки известен как ошибка компиляции или проверенная ошибка. Программа Java генерирует этот код на этапе компиляции.

Другими словами, эта ошибка возникает, когда код Javac компилируется в байт-код. Ошибка времени компиляции обычно вызвана ошибкой в ​​синтаксисе кода.

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

public class JavaExceptionCodes {
    public static void main (String []args){
        int y = 10      //no semicolon
        System.out.println(y);
    }

}

. Ошибка выполнения

Ошибка времени выполнения также известна как ошибка исключения или непроверенная ошибка. Это происходит во время выполнения программы. Код скомпилируется, но во время выполнения выдаст ошибку.

Ошибку выполнения можно разделить на встроенные исключения или пользовательские исключения. Примеры встроенных исключений:

  • ArrayIndexOutOfBoundsException
  • Арифметическоеисключение
  • FileNotFoundException
  • Исключение нулевого указателя

Например, если пользователь вводит целое число вместо строки или вставляет значения, превышающие размер массива.

public class JavaExceptionCodes {
    public static void main (String []args) {
        int nombas[] = {1, 2, 3, 4, 5};
        System.out.println(nombas[6]); 

    }
}
//ArrayIndexOutOfBoundsException

. Логическая ошибка

Также известная как семантическая ошибка, она возникает, если в логическом выводе программы есть ошибка. Например, 3 3 показывает результат 7 или когда вы входите в свою учетную запись и попадаете в другой профиль.

Ошибку времени компиляции обнаружить проще всего, поскольку ваша IDE всегда укажет на эту ошибку программисту. В большинстве случаев логическую ошибку сложнее всего обнаружить, поскольку код не выдает ошибок во время компиляции или выполнения.

Концепция обработки исключений

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

Предварительное обнаружение и обработка ошибок позволит программе пропустить блок кода с ошибками и продолжить выполнение остальной части программы.

Методы обработки исключений:

Try – Catch – Final – Throw – Throws — список методов обработки исключений в Java. Давайте подробно разберем каждый из них на примерах:

. Пытаться

Try используется для заключения строки или блоков кода, которые могут вызвать исключение. Существует также вложенная попытка, которая представляет собой попытку с внутренним блоком(ами) попытки. Они служат той же цели.

Синтаксис

try{

}

. Ловить

Catch — это блок кода, используемый для обнаружения ошибок, возникающих в блоке try.

Синтаксис

try{

}
catch (Exception e){

}

несколько блоков catch

public class JavaExceptionCodes {
    public static void main (String []args) {
        int x = 10;
        int y = 0;
        int z ;
        int nombas [] = {5, 6, 7, 8, 9};
        try {
            System.out.println(z = x / y);
            System.out.println(nombas[6]);
        }
        catch (ArithmeticException e){
            System.out.println("Can't divide by 0. Choose another number"   e);
        }
        catch(ArrayIndexOutOfBoundsException e){
            System.out.println("Array Out Of Bound"   e);
        }
        System.out.println("End");
    }
}

. Окончательно

Наконец, это необязательный блок кода, который обычно размещается после блоков кода try и catch. Он используется для выполнения важных кодов. Блокfinally выполняется всегда, независимо от того, выдает программа ошибку или нет.

Синтаксис

try{

}
catch (Exception e){

}
finally{

}

. Бросать

Throw — это ключевое слово, используемое для создания исключения внутри метода или блока кода.

Синтаксис

public class JavaExceptionCodes {
    public static void main (String []args) {

           try { throw new ArithmeticException("Try Run");
           }
           catch (ArithmeticException e){
               System.out.println("Catch Exception Error");
           }

    }
}

. Броски

В отличие от ключевого слова throw, ключевое слово throws не используется для генерации исключения. Однако он указывает, что в методе может быть исключение. Throws используется в сигнатуре метода, а не внутри метода.

Лучшие практики обработки исключений

  1. Блок try может содержать несколько операторов (строк кода). Лучше всего создать несколько блоков catch, чтобы перехватывать ошибки в каждом операторе.

  2. Всегда указывайте тип исключения, если вы работаете с несколькими блоками catch.

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

  4. Всегда размещайте общий блок перехвата исключений в конце других пользовательских блоков перехвата исключений.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/akamzchidi/Exception-handling-in-java-f32?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3