Un elemento en un seguimiento de pila, como lo devuelve Throwable.getStackTrace(). Cada elemento representa un solo marco de pila. Todos los marcos de la pila, excepto el que está en la parte superior de la pila, representan una invocación de método. El marco en la parte superior de la pila representa el punto de ejecución en el que se generó el seguimiento de la pila.
Esta clase describe un marco de pila único, que es un elemento individual de un seguimiento de pila cuando ocurre una excepción.
- Todos los marcos de la pila, excepto el que está en la parte superior de la pila, representan una invocación de método.
- El marco en la parte superior de la pila representa el punto de ejecución del cual se generó el seguimiento de la pila.
- Cada marco de pila representa un punto de ejecución, que incluye elementos como el nombre del método, el nombre del archivo y el número de línea del código fuente.
- El método getStackTrace () de la clase Throwable devuelve una array de StackTraceElement .
Constructor: crea un elemento de seguimiento de pila que representa el punto de ejecución especificado.
StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)
Parámetros:
- declarandoClass : el nombre completo de la clase que contiene el punto de ejecución representado por el elemento de seguimiento de la pila.
- methodName : el nombre del método que contiene el punto de ejecución representado por el elemento de seguimiento de la pila.
- fileName : el nombre del archivo que contiene el punto de ejecución representado por el elemento de seguimiento de la pila, o nulo si esta información no está disponible
- lineNumber : el número de línea de la línea de origen que contiene el punto de ejecución representado por este elemento de seguimiento de pila, o un número negativo si esta información no está disponible. Un valor de -2 indica que el método que contiene el punto de ejecución es un método nativo.
Lanza: NullPointerException: si declarar Class o methodName es nulo.
Métodos:
1. boolean equals(ob): Devuelve try si el StackTraceElement que invoca es como el pasado en ob . De lo contrario devuelve falso.
Syntax: public boolean equals(ob) Returns: true if the specified object is another StackTraceElement instance representing the same execution point as this instance. Exception: NA
Java
// Java code illustrating equals() method import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { StackTraceElement st1 = new StackTraceElement("foo", "fuction1", "StackTrace.java", 1); StackTraceElement st2 = new StackTraceElement("bar", "function2", "StackTrace.java", 1); Object ob = st1.getFileName(); // checking whether file names are same or not System.out.println(st2.getFileName().equals(ob)); } }
Producción:
true
2. String getClassName(): Devuelve el nombre de la clase del punto de ejecución descrito por el StackTraceElement que invoca .
Syntax: public String getClassName(). Returns: the fully qualified name of the Class containing the execution point represented by this stack trace element. Exception: NA.
Java
// Java code illustrating getClassName() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { System.out.println("Class name of each thread involved:"); for(int i = 0; i<2; i++) { System.out.println(Thread.currentThread().getStackTrace()[I]. getClassName()); } } }
Producción:
Class name of each thread involved: java.lang.Thread StackTraceElementDemo
3. String getFileName(): Devuelve el nombre de archivo del punto de ejecución descrito por el StackTraceElement que invoca .
Syntax: public String getFileName(). Returns: the name of the file containing the execution point represented by this stack trace element, or null if this information is unavailable. Exception: NA.
Java
// Java code illustrating getFileName() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { System.out.println("file name: "); for(int i = 0; i<2; i++) System.out.println(Thread.currentThread().getStackTrace()[i]. getFileName()); } }
Producción:
file name: Thread.java StackTraceElementDemo.java
4. int getLineNumber(): Devuelve el número de línea del código fuente del punto de ejecución descrito por el StackTraceElement que invoca . En algunas situaciones, el número de línea no estará disponible, en cuyo caso se devuelve un valor negativo.
Syntax: public int getLineNumber(). Returns: the line number of the source line containing the execution point represented by this stack trace element, or a negative number if this information is unavailable. Exception: NA.
Java
// Java code illustrating getLineNumber() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { System.out.println("line number: "); for(int i = 0; i<2; i++) System.out.println(Thread.currentThread().getStackTrace()[i]. getLineNumber()); } }
Producción:
line number: 1556 10
5. String getMethodName(): Devuelve el nombre del método del punto de ejecución descrito por el StackTraceElement que invoca .
Syntax: public String getMethodName(). Returns: the name of the method containing the execution point represented by this stack trace element. Exception: NA.
Java
// Java code illustrating getMethodName() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { System.out.println("method name: "); for(int i = 0; i<2; i++) System.out.println(Thread.currentThread().getStackTrace()[i]. getMethodName()); } }
Producción:
method name: getStackTrace main
6. int hashCode(): Devuelve el código hash del StackTraceElement que invoca .
Syntax: public int hashCode(). Returns: a hash code value for this object. Exception: NA.
Java
// Java code illustrating hashCode() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { System.out.println("hash code: "); for(int i = 0; i<2; i++) System.out.println(Thread.currentThread().getStackTrace()[i]. hashCode()); } }
Producción:
hash code: -1225537245 -1314176653
7. boolean isNativeMethod(): Devuelve verdadero si el StackTraceElement que invoca describe un método nativo. De lo contrario devuelve falso.
Syntax: public boolean isNativeMethod(). Returns: true if the method containing the execution point represented by this stack trace element is a native method. Exception: NA.
Java
// Java code illustrating isNativeMethod() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { for(int i = 0; i<2; i++) System.out.println(Thread.currentThread().getStackTrace()[i]. isNativeMethod()); } }
Producción:
false false
8. String toString(): Devuelve el equivalente de String de la secuencia de invocación.
Syntax: public String toString(). Returns: a string representation of the object. Exception: NA.
Java
// Java code illustrating toString() method. import java.lang.*; import java.io.*; import java.util.*; public class StackTraceElementDemo { public static void main(String[] arg) { System.out.println("String equivalent: "); for(int i = 0; i<2; i++) System.out.println(Thread.currentThread().getStackTrace()[i]. toString()); } }
Producción:
String equivalent: java.lang.Thread.getStackTrace StackTraceElementDemo.main
Este artículo es una contribución de Abhishek Verma . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA