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

È possibile che in Java ci sia solo un blocco catch con più blocco try?

Un'eccezione è un problema che si verifica durante l'esecuzione del programma (errore di runtime). Quando si verifica un'eccezione, il programma si interrompe improvvisamente e il codice dopo la riga che ha generato l'eccezione non verrà mai eseguito.

Esempio

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

Risultato di output

Inserisci il primo numero:
100
Inserisci il secondo numero:
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ExceptionExample.main(ExceptionExample.java:10)

Più blocco try:

Non puoi utilizzare più blocco try con un singolo blocco catch. Ogni blocco try deve essere seguito da un blocco catch o essere il più vicino possibile alla fine. Tuttavia, se tenti di utilizzare un singolo blocco catch per più blocco try, verrà generato un errore a compile time.

Esempio

Il seguente programma Java tenta di utilizzare un singolo blocco catch per più blocco 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");
      }
   }
}

Eccezione a compile time

ExceptionExample.java:4: error: 'try' senza 'catch', 'finally' o dichiarazioni di risorse
   try {
   ^
1 error
Ti potrebbe interessare