Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java перехватывает несколько исключений

Java перехватывает множественные исключения

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

До Java 7 нам приходилось писать несколько кодов обработки исключений для разных типов исключений, даже если код был избыточным.

Возьмем пример.

Пример 1. Несколько блоков catch

05

Вывод

15 

В этом примере могут возникнуть два исключения:

  • 02 потому что мы пытаемся разделить число на 0.
  • 19 потому что мы объявили новый целочисленный массив с границами массива от 0 до 9 и пытаемся присвоить значение индексу 10.

Мы распечатываем сообщение об исключении как в 24 блокирует, т. е. дублирует код.

Ассоциативность оператора присваивания 38 справа налево, поэтому 41 выдается первым с сообщением / by zero .

<час>

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

В Java SE 7 и более поздних версиях теперь мы можем перехватывать более одного типа исключений в одном 54. блокировать.

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

Его синтаксис:

22

Пример 2. Блок с несколькими перехватами

36

Вывод

44

Перехват нескольких исключений в одном 81 блок уменьшает дублирование кода и повышает эффективность.

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

Примечание. Если 106 блок обрабатывает несколько исключений, параметр catch неявно равен 114 . Это означает, что мы не можем присваивать значения параметрам catch.

<час>

Перехват основного исключения

При перехвате нескольких исключений в одном 124 блок, правило обобщается на специализированное.

Это означает, что при наличии иерархии исключений в 132 блок, мы можем перехватывать только базовое исключение вместо того, чтобы перехватывать несколько специализированных исключений.

Возьмем пример.

Пример 3:Перехват только базового класса исключений

53

Вывод

65

Мы знаем, что все классы исключений являются подклассами класса 146. учебный класс. Таким образом, вместо того, чтобы перехватывать несколько специализированных исключений, мы можем просто перехватывать 155 класс.

<час>

Если базовый класс исключений уже указан в 160 block, не используйте дочерние классы исключений в одном и том же 174 блокировать. В противном случае мы получим ошибку компиляции.

Возьмем пример.

Пример 4. Перехват базовых и дочерних классов исключений

77

Вывод

84

В этом примере 189 и 190 оба являются подклассами 209 учебный класс. Итак, мы получаем ошибку компиляции.


java

  1. Операторы Java
  2. Java-комментарии
  3. Java для каждого цикла
  4. Java-строки
  5. Java-интерфейс
  6. Анонимный класс Java
  7. Java попробуй... поймай
  8. Java бросает и бросает
  9. Java-проба с ресурсами
  10. Java-аннотации