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

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

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

Что такое исключение:

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

Когда в методе возникает ошибка, метод создает объект (т. Е. Объект исключения) и передает его системе времени выполнения. Этот объект исключения содержит информацию об ошибке. Этот процесс создания объекта исключения и обработки его в системе времени выполнения называется генерацией исключения. Каждый раз, когда метод генерирует исключение, исполняющая система пытается найти обработчик исключения для обработки исключения. В этом процессе обработки исключения мы должны предоставить удобное для пользователя сообщение, которое может быть легко понятно пользователю, а не просто выдавать сообщение, генерирующее систему, которое трудно понять нетехническому человеку.

Пусть я покажу вам образец сообщения, созданного системой.

123456789101112 пакет classExceptionHandling; открытый класс ArithmeticExceptionClass {общедоступный статический недействительный основной (String [] аргументы) {int a = 100; int b = 0; System.out.println (а/б); }}

Вывод:

12 Исключение в потоке & # 34; main & # 34; java.lang.ArithmeticException:/на ноль в classExceptionHandling.UncheckedExceptionClass.main (UncheckedExceptionClass.java:15)

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

Типы исключений:

Есть два типа исключений:

1. Отмеченные исключения
2. Непроверенные исключения

1. Проверенное исключение:

Проверенные исключения возникают во время компиляции. Это так называемые исключения времени компиляции. Как программист, мы должны обрабатывать эти исключения во время компиляции.

Давайте посмотрим на пример:

12345678910111213 пакет classExceptionHandling; import java.io.FileInputStream; открытый класс CheckedExceptionClass {public static void main (String [] args) {FileInputStream fis = new FileInputStream (& # 34; D: /TestFile.txt"); }}

Вывод:

1234 Исключение в потоке & # 34; main & # 34; java.lang.Error: Нерешенная проблема компиляции: необработанное исключение типа FileNotFoundException в classExceptionHandling.CheckedExceptionClass.main (CheckedExceptionClass.java:10)

Давайте посмотрим, как с этим справиться.

Использование ключевого слова throws:

1234567891011121314 package classExceptionHandling; импорт java.io.FileInputStream; импорт java.io.FileNotFoundException; открытый класс CheckedExceptionClass {public static void main (String [] args) выбрасывает FileNotFoundException {FileInputStream fis = new FileInputStream (& # 34; D: /TestFile.txt"); }}

Использование блока try catch:

1234567891011121314151617 пакет classExceptionHandling; import java.io.FileInputStream; открытый класс CheckedExceptionClass {public static void main (String [] args) {попробуйте {FileInputStream fis = new FileInputStream (& # 34; D: /TestFile.txt"); } catch (Исключение e) {System.out.println (& # 34; Файл не найден & # 34;); }}}

Вот некоторые из отмеченных исключений:

  • IOException
  • ClassNotFoundException
  • SQLException

2. Непроверенное исключение:

Непроверенные исключения возникают во время выполнения. Это исключения во время выполнения. Как программист, мы должны заранее оценить это и правильно с ними справиться.

Давайте посмотрим на пример:

1234567891011 package classExceptionHandling; открытый класс UncheckedExceptionClass {общедоступный статический void main (String [] args) {int a = 100; int b = 0; System.out.println (а/б); }}

Вывод:

< td class = "crayon-nums" data-settings = "show"> 12
Исключение в потоке & # 34; main & # 34; java.lang.ArithmeticException:/на ноль в classExceptionHandling.UncheckedExceptionClass.main (UncheckedExceptionClass.java:8)

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

123456789101112131415 package classExceptionHandling; открытый класс UncheckedExceptionClass {общедоступный статический void main (String [] args) {int a = 100; int b = 0; попробуйте {System.out.println (a/b); } catch (исключение e) {System.out.println (e.getMessage ()); }}}

Вывод:

1 /на ноль

Некоторые из непроверенных исключений следующим образом:

  • ArithmeticException
  • NullPointerException
  • ArrayIndexOutOfBoundsException
  • IllegalArgumentException