Programa Java para imprimir el seguimiento de la pila

Considere una estantería en la que los libros se colocan uno sobre otro. Ahora, si la persona quiere leer el libro que colocó primero, para hacerlo, todos los libros sobre el primer libro deben eliminarse para alcanzar el libro deseado. Ese es el libro que se colocó primero al principio mismo. El método por el cual la computadora almacena libros conocidos como elementos de tal manera se llama Stack

Es un tipo de dato abstracto que tiene las siguientes operaciones:

Operaciones

Acción

empujar() Insertar elementos 
estallido() Eliminación de elementos
esta vacio() Para comprobar si la pila está vacía
está lleno() Para comprobar si la pila ya está llena
arriba() o mirar() Para acceder al elemento superior de la pila

 Ahora, según las funciones en Stacks , una excepción es

  • pila
  • pila
  • pila

Para imprimir la excepción, existe un método para esta estructura de datos conocido como printstackTrace() . Se utiliza en el controlador de excepciones de una excepción en particular para manejar la excepción. Este es un método de la clase arrojable de Java que imprime el objeto de excepción arrojable, así como otra información como el número de línea donde ocurre la excepción y el nombre de la clase donde ocurrió la excepción. Throwable es una superclase para todas las clases de excepción.

Ambos seguimientos de pila se analizan a continuación:

  1. Seguimiento de pila de una sola línea
  2. Seguimiento de pila de varias líneas

A. Rastreo de pila de una sola línea: la mayoría de las excepciones genéricas se encuentran en esta categoría. Hay varias excepciones, pero para la implementación, se tiene en cuenta la parte ‘ ArrayIndexOutOfBound ‘ para la implementación .

Java

// Importing Classes/Files
import java.io.*;
 
class GFG {
 
    // Main Driver Method
    public static void main(String[] args)
    {
        // Inserting elements into array
        int a[] = { 1, 2, 3 };
 
        // Try-Catch Block
        try {
            // Exception occurs
            System.out.println(a[5]);
        }
 
        // Try-Catch Block
        catch (ArrayIndexOutOfBoundsException e) {
 
            // Printing Exception Object as well as
            // the line where Exception occur
            e.printStackTrace();
        }
    }
}

Error de tiempo de ejecución:

java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 3
    at GFG.main(File.java:9)

B. Rastreo de pila de varias líneas: esta condición ocurre cuando llamamos a la función dentro de otra función y si alguna función arroja una excepción, vuelve a rastrear toda la ruta donde llama con el método printstackTrace() .

Java

// Importing Classes/Files
import java.io.*;
 
class GFG {
 
    // Creating random function to test
    static void check2()
    {
        // Try-catch block for exception
        try {
           
            int a = 5 / 0;
            // Exception occur as logically
            // In math '/' operatop satisfies x/y where y!=0
        }
 
        // Catch Block to catch exception if occurs
        catch (Exception e) {
           
            // retrace all the path where this function call
            e.printStackTrace();
        }
    }
 
    // calling  the function check2()
    static void check() { check2(); }
   
    // Driver Main Method
    public static void main(String[] args)
    {
        check(); // calling the function check()
    }
}

Error de tiempo de ejecución:

java.lang.ArithmeticException: / by zero
    at GFG.check2(File.java:11)
    at GFG.check(File.java:7)
    at GFG.main(File.java:19)

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 *