imprimirStackTrace()
El método printStackTrace() de la clase Java.lang.Throwable que se usa para imprimir este Throwable junto con otros detalles como el nombre de la clase y el número de línea donde ocurrió la excepción significa su rastreo inverso. Este método imprime un seguimiento de pila para este objeto Throwable en el flujo de salida de error estándar.
La primera línea de salida muestra la misma string que devolvió el método toString() para este objeto que significa nombre de clase de excepción y las líneas posteriores representan datos registrados previamente por el método fillInStackTrace().
Sintaxis:
public void printStackTrace()
Valor devuelto: este método no devuelve nada.
Los siguientes programas ilustran el método printStackTrace de la clase Java.lang.Throwable:
Ejemplo 1:
Java
// Java program to demonstrate // the printStackTrace () Method. import java.io.*; class GFG { // Main Method public static void main(String[] args) throws Exception { try { testException1(); } catch (Throwable e) { // print stack trace e.printStackTrace(); } } // method which throws Exception public static void testException1() throws Exception { // create a ArrayIndexOutOfBoundsException Exception ArrayIndexOutOfBoundsException ae = new ArrayIndexOutOfBoundsException(); // create a new Exception Exception ioe = new Exception(); // initialize the cause and throw Exception ioe.initCause(ae); throw ioe; } }
java.lang.Exception at GFG.testException1(File.java:36) at GFG.main(File.java:15) Caused by: java.lang.ArrayIndexOutOfBoundsException at GFG.testException1(File.java:32) ... 1 more
Ejemplo 2:
Java
// Java program to demonstrate // the printStackTrace () Method. import java.io.*; class GFG { // Main Method public static void main(String[] args) throws Exception { try { testException1(); } catch (Throwable e) { // print stack trace e.printStackTrace(); } } // method which throws Exception public static void testException1() throws Exception { // create a ArrayIndexOutOfBoundsException Exception ArrayIndexOutOfBoundsException ae = new ArrayIndexOutOfBoundsException(); // create a new Exception Exception ioe = new Exception(); // initialize the cause and throw Exception ioe.initCause(ae); throw ioe; } }
java.lang.Exception at GFG.testException1(File.java:36) at GFG.main(File.java:15) Caused by: java.lang.ArrayIndexOutOfBoundsException at GFG.testException1(File.java:32) ... 1 more
printStackTrace(PrintStream s)
El método printStackTrace(PrintStream s) de la clase Java.lang.Throwable se usa para imprimir este Throwable junto con otros detalles como el nombre de la clase y el número de línea donde ocurrió la excepción en el flujo de impresión especificado. Este método funciona igual que printStackTrace() pero la diferencia es solo que imprime en el flujo de impresión especificado pasado como parámetro.
Sintaxis:
public void printStackTrace(PrintStream s)
Parámetros: este método acepta PrintStream s como un parámetro que se especifica en el flujo de impresión donde queremos escribir los detalles de Throwable.
Valor devuelto: este método no devuelve nada.
Los siguientes programas ilustran el método printStackTrace(PrintStream s) de la clase Java.lang.Throwable:
Ejemplo 1:
Java
// Java program to demonstrate // the printStackTrace(PrintStream s) Method. import java.io.*; class GFG { // Main Method public static void main(String[] args) throws Exception { try { // create a array of Integers int[] i = new int[2]; // try to add numbers to array i[2] = 3; } catch (Throwable e) { // print Stack Trace e.printStackTrace(System.out); } } }
java.lang.ArrayIndexOutOfBoundsException: 2 at GFG.main(File.java:18)
Ejemplo 2:
Java
// Java program to demonstrate // the printStackTrace(PrintStream s) Method. import java.io.*; class GFG { // Main Method public static void main(String[] args) throws Exception { try { testException1(); } catch (Throwable e) { // create printstream object PrintStream obj = new PrintStream(System.out); // print stack trace e.printStackTrace(obj); } } // method which throws Exception public static void testException1() throws Exception { throw new Exception("System is Down"); } }
java.lang.Exception: System is Down at GFG.testException1(File.java:35) at GFG.main(File.java:15)
printStackTrace(PrintWriter s)
El método printStackTrace(PrintWriter s) de la clase Java.lang.Throwable se usa para imprimir este Throwable junto con otros detalles como el nombre de la clase y el número de línea donde se produjo la excepción en el Escritor de impresión especificado. Este método funciona igual que printStackTrace() pero la diferencia es que se imprime en el Escritor de impresión especificado pasado como parámetro.
Sintaxis:
public void printStackTrace(PrintWriter s)
Parámetros: este método acepta PrintWriter s como un parámetro que se especifica en el escritor de impresión donde se escribirán los detalles de Throwable.
Valor devuelto: este método no devuelve nada.
Los siguientes programas ilustran el método printStackTrace(PrintWriter s) de la clase Throwable:
Ejemplo 1:
Java
// Java program to demonstrate // the printStackTrace(PrintWriter s) Method. import java.io.*; class GFG { // Main Method public static void main(String[] args) throws Exception { try { // divide two numbers int a = 74, b = 0; int c = a / b; } catch (Throwable e) { // Using a StringWriter, // to convert trace into a String: StringWriter sw = new StringWriter(); // create a PrintWriter PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); String error = sw.toString(); System.out.println("Error:\n" + error); } } }
Error: java.lang.ArithmeticException: / by zero at GFG.main(File.java:17)
Ejemplo 2:
Java
// Java program to demonstrate // the printStackTrace(PrintWriter s) Method. import java.io.*; class GFG { // Main Method public static void main(String[] args) throws Exception { try { testException1(); } catch (Throwable e) { // Using a StringWriter, // to convert trace into a String: StringWriter sw = new StringWriter(); // create a PrintWriter PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); String error = sw.toString(); System.out.println("Error:\n" + error); } } // method which throws Exception public static void testException1() throws Exception { throw new Exception( "Waiting for input but no response"); } }
Error: java.lang.Exception: Waiting for input but no response at GFG.testException1(File.java:38) at GFG.main(File.java:15)
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/lang/Throwable.html#printStackTrace()
https://docs.oracle.com/javase/10/docs/api/java /lang/Throwable.html#printStackTrace(java.io.PrintStream)
https://docs.oracle.com/javase/10/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA