Programa Java para manejar las jerarquías de excepción

Las excepciones son los eventos que ocurren debido a un error del programador o un error de la máquina que provoca una perturbación en el flujo normal de ejecución del programa y finaliza el programa.

Manejo de excepciones : el proceso de manejo de excepciones se conoce como Manejo de excepciones.

Jerarquía de excepciones: la clase de objeto es la clase principal de todas las clases de Java y todos los objetos de errores o excepciones heredados por la clase arrojable. La clase arrojable tiene dos errores de subclase y excepción.

Clase de errores: esta clase contiene aquellos errores que son difíciles de manejar. Ocurren durante el tiempo de ejecución de un programa, por ejemplo, StackOverflowError, OutOfMemoryError, etc.

  • StackOverflowError : este error ocurre debido a una condición de entrada en la recursividad y al usar un bucle infinito en un programa. Esta causa excede la memoria de la pila y provoca StackOverflowError en el programa.

Error de desbordamiento de pila:

Java

// Java Program to Handle the exception hierarchies
 
import java.io.*;
 
class GFG {
    static void check(int n)
    {
        if (n == 0) {
            return;
        }
        check(n + 1);
    }
    public static void main(String[] args) { check(3); }
}

Clase de excepción: 

Esta clase contiene todas las excepciones que se pueden manejar fácilmente. Hay dos subclases heredadas, una es Excepción de tiempo de ejecución (Excepción sin marcar) y Excepción marcada.

1.Excepciones comprobadas : estas excepciones son la subclase de la clase Exception. Estos tipos de excepciones ocurren durante el tiempo de compilación del programa por parte de javac. Estas excepciones pueden ser manejadas por el bloque try-catch, de lo contrario el programa dará un error de compilación. ClassNotFoundException, IOException, SQLException, etc. son ejemplos de las excepciones verificadas.

Excepción de E/S : este programa lanza una excepción de E/S debido a que FileNotFoundException es una excepción comprobada en Java. Cada vez que queremos leer un archivo del sistema de archivos, Java nos obliga a manejar situaciones de error en las que el archivo no está presente en la ubicación dada.

Assumption: consider myfile.txt file does not exit 

Implementación:

Java

// Java Program to Handle the exception hierarchies
import java.io.*;
class GFG {
    public static void main(String args[])
    {
        // this file does not exist in the location
        try {
            FileInputStream GFG
                = new FileInputStream("C:/myfile.txt");
        }
        catch (Exception e) {
            System.out.println("File not found");
        }
    }
}
Producción

File not found

2. Excepción no verificada

Este tipo de excepciones ocurren durante el tiempo de ejecución del programa. Estas son las excepciones que el compilador no verifica en un momento de compilación. En Java, las excepciones en las clases Error y RuntimeException son excepciones no comprobadas. Esta excepción se produce debido a una mala programación. Las excepciones de tiempo de ejecución como IndexoutOfBoundException, Nullpointer Exception, etc. se pueden manejar con la ayuda de Try-Catch Block
(Array)IndexoutOfBoundException : esta excepción se produce debido al acceso al índice mayor que e igual al tamaño de la longitud de la array. El programa terminará automáticamente después de esta excepción.

Implementación:

Java

// Java Program to Handle the exception hierarchies
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        int a[] = { 1, 2, 3, 4, 5 };
        try {
            System.out.println(
                a[5]); // accessing the elements of the out
                       // of index of the array
        }
        catch (ArrayIndexOutOfBoundsException e) {
            // executes when index out of bound occurs
            System.out.println(
                "Out of index  please check your code");
        }
    }
}
Producción

Out of index  please check your code

Múltiples bloques de captura: a veces, en un programa, un código en particular puede arrojar múltiples objetos de excepciones que se pueden manejar usando múltiples bloques de captura en un solo bloque de prueba

Formato:

Java

try {
    // Code where exception can occur
}
catch (ExceptionA e1) {
    // code that executes if Exception of  A occurs
}
catch (ExceptionB e2) {
    // code that executes if Exception of B occurs.
}

Manejo de ArithmeticException e IndexoutOfBound Exception usando múltiples bloques catch.

Java

import java.io.*;
 
class GFG {
    public static void main (String[] args) {
         try {
      int number[] = new int[10];
      number[10] = 30 / 0;
    } catch (ArithmeticException e) {
      System.out.println("Zero cannot divide any number");
    } catch (ArrayIndexOutOfBoundsException e) {
      System.out.println("Index out of size of the array");
    }
  }
     
}
Producción

Zero cannot divide any number

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *