English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Может ли в Java быть только один блок catch с несколькими блоками try?

Экзепшн - это проблема, которая возникает во время выполнения программы (время выполнения ошибки). При возникновении исключения программа внезапно прекращает работу, и код, расположенный после строки с исключением, никогда не будет выполнен.

Пример

import java.util.Scanner;
public class ExceptionExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter first number:");
      int a = sc.nextInt();
      System.out.println("Enter second number:");
      int b = sc.nextInt();
      int c = a/b;
      System.out.println("The result is: " + c);
   }
}

Результат вывода

Enter first number:
100
Enter second number:
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ExceptionExample.main(ExceptionExample.java:10)

Множественные try блоки:

Вы не можете использовать несколько try блоков с одним catch блоком. Каждый try блок должен следовать за catch или быть последним. Однако, если вы пытаетесь использовать один catch блок для нескольких try блоков, будет генерироваться ошибка в время компиляции.

Пример

Ниже приведен пример Java программы, которая пытается использовать один catch блок для нескольких try блоков.

class ExceptionExample{
   public static void main(String args[]) {
      int a, b;
      try {
         a = Integer.parseInt(args[0]);
         b = Integer.parseInt(args[1]);
      }
      try {
         int c = a/b;
         System.out.println(c);
      }
         System.out.println("Please pass the args while running the program");
      }
   }
}

Вызов в время компиляции

ExceptionExample.java:4: error: 'try' without 'catch', 'finally' or resource declarations
   try {
   ^
1 error
Основной учебник
Вам может понравиться