¿Cuál es el uso del método e.printStackTrace () en Java?
Bueno, el propósito de usar este método e.printStackTrace();
es ver qué es exactamente lo que está mal.
Por ejemplo, queremos manejar una excepción. Echemos un vistazo al siguiente ejemplo.
public class Main{
public static void main(String[] args) {
int a = 12;
int b = 2;
try {
int result = a / (b - 2);
System.out.println(result);
}
catch (Exception e)
{
System.out.println("Error: " + e.getMessage());
e.printStackTrace();
}
}
}
He usado el método e.printStackTrace();
para mostrar exactamente lo que está mal.
En la salida, podemos ver el siguiente resultado.
Error: / by zero
java.lang.ArithmeticException: / by zero
at Main.main(Main.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
e.printStackTrace(); System.exit(1);
aquí quiero hacer la misma pregunta que el OP, pero en una línea diferente: ¿Cuál es exactamente el propósito de esto? ¿No imprimirá el JRE automáticamente el seguimiento de la pila y se cerrará cuando se lance la excepción? Es decir, no hay mucho "Manejo de excepciones" aquí, ¿verdad?