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

¿Es posible que solo haya un bloque catch con varios bloques try en Java?

Las excepciones son problemas que ocurren durante la ejecución del programa (errores de tiempo de ejecución). Cuando ocurre una excepción, el programa se detiene repentinamente y el código que sigue a la línea de excepción nunca se ejecutará.

Ejemplo

import java.util.Scanner;
public class ExceptionExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese el primer número:");
      int a = sc.nextInt();
      System.out.println("Ingrese el segundo número:");
      int b = sc.nextInt();
      int c = a/b;
      System.out.println("El resultado es: ")+c);
   }
}

Resultado de la salida

Introduzca el primer número:
100
Introduzca el segundo número:
0
Excepción en el hilo "main" java.lang.ArithmeticException: / by zero
at ExceptionExample.main(ExceptionExample.java:10)

Bloques de intento múltiples:

No puede usarse un solo bloque catch con varios bloques try. Cada bloque try debe seguir inmediatamente al catch o al final. Sin embargo, si intenta usar un solo bloque catch para varios bloques try, se generará un error en tiempo de compilación.

Ejemplo

El siguiente programa Java intenta usar un solo bloque catch para varios bloques 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("Por favor, pase los args mientras ejecuta el programa");
      }
   }
}

Excepción en tiempo de compilación

ExceptionExample.java:4: error: 'try' sin 'catch', 'finally' o declaraciones de recursos
   try {
   ^
1 error
Te gustará