Java stack trace method name

Java stack trace method name

An element in a stack trace, as returned by Throwable.getStackTrace() . Each element represents a single stack frame. All stack frames except for the one at the top of the stack represent a method invocation. The frame at the top of the stack represents the execution point at which the stack trace was generated. Typically, this is the point at which the throwable corresponding to the stack trace was created.

Constructor Summary

Method Summary

Returns true if the specified object is another StackTraceElement instance representing the same execution point as this instance.

Returns the fully qualified name of the class containing the execution point represented by this stack trace element.

Returns the name of the source file containing the execution point represented by this stack trace element.

Returns the line number of the source line containing the execution point represented by this stack trace element.

Returns the name of the method containing the execution point represented by this stack trace element.

Returns true if the method containing the execution point represented by this stack trace element is a native method.

Methods inherited from class java.lang.Object

Constructor Detail

StackTraceElement

public StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)

Method Detail

getFileName

Returns the name of the source file containing the execution point represented by this stack trace element. Generally, this corresponds to the SourceFile attribute of the relevant class file (as per The Java Virtual Machine Specification, Section 4.7.7). In some systems, the name may refer to some source code unit other than a file, such as an entry in source repository.

Читайте также:  Java получить строку из файла

getLineNumber

Returns the line number of the source line containing the execution point represented by this stack trace element. Generally, this is derived from the LineNumberTable attribute of the relevant class file (as per The Java Virtual Machine Specification, Section 4.7.8).

getClassName

Returns the fully qualified name of the class containing the execution point represented by this stack trace element.

getMethodName

Returns the name of the method containing the execution point represented by this stack trace element. If the execution point is contained in an instance or class initializer, this method will return the appropriate special method name, or , as per Section 3.9 of The Java Virtual Machine Specification.

isNativeMethod

public boolean isNativeMethod()

Returns true if the method containing the execution point represented by this stack trace element is a native method.

toString

  • «MyClass.mash(MyClass.java:9)» — Here, «MyClass» is the fully-qualified name of the class containing the execution point represented by this stack trace element, «mash» is the name of the method containing the execution point, «MyClass.java» is the source file containing the execution point, and «9» is the line number of the source line containing the execution point.
  • «MyClass.mash(MyClass.java)» — As above, but the line number is unavailable.
  • «MyClass.mash(Unknown Source)» — As above, but neither the file name nor the line number are available.
  • «MyClass.mash(Native Method)» — As above, but neither the file name nor the line number are available, and the method containing the execution point is known to be a native method.

equals

Returns true if the specified object is another StackTraceElement instance representing the same execution point as this instance. Two stack trace elements a and b are equal if and only if:

 equals(a.getFileName(), b.getFileName()) && a.getLineNumber() == b.getLineNumber()) && equals(a.getClassName(), b.getClassName()) && equals(a.getMethodName(), b.getMethodName()) 

hashCode

Источник

Class StackTraceElement

An element in a stack trace, as returned by Throwable.getStackTrace() . Each element represents a single stack frame. All stack frames except for the one at the top of the stack represent a method invocation. The frame at the top of the stack represents the execution point at which the stack trace was generated. Typically, this is the point at which the throwable corresponding to the stack trace was created.

Constructor Summary

StackTraceElement (String classLoaderName, String moduleName, String moduleVersion, String declaringClass, String methodName, String fileName, int lineNumber)

Method Summary

Returns true if the specified object is another StackTraceElement instance representing the same execution point as this instance.

Returns the name of the class loader of the class containing the execution point represented by this stack trace element.

Returns the fully qualified name of the class containing the execution point represented by this stack trace element.

Returns the name of the source file containing the execution point represented by this stack trace element.

Returns the line number of the source line containing the execution point represented by this stack trace element.

Returns the name of the method containing the execution point represented by this stack trace element.

Returns the module name of the module containing the execution point represented by this stack trace element.

Returns the module version of the module containing the execution point represented by this stack trace element.

Returns true if the method containing the execution point represented by this stack trace element is a native method.

Methods declared in class java.lang.Object

Constructor Details

StackTraceElement

Creates a stack trace element representing the specified execution point. The module name and module version of the stack trace element will be null .

StackTraceElement

public StackTraceElement (String classLoaderName, String moduleName, String moduleVersion, String declaringClass, String methodName, String fileName, int lineNumber)

Method Details

getFileName

Returns the name of the source file containing the execution point represented by this stack trace element. Generally, this corresponds to the SourceFile attribute of the relevant class file (as per The Java Virtual Machine Specification , Section 4.7.7). In some systems, the name may refer to some source code unit other than a file, such as an entry in source repository.

getLineNumber

Returns the line number of the source line containing the execution point represented by this stack trace element. Generally, this is derived from the LineNumberTable attribute of the relevant class file (as per The Java Virtual Machine Specification , Section 4.7.8).

getModuleName

Returns the module name of the module containing the execution point represented by this stack trace element.

getModuleVersion

Returns the module version of the module containing the execution point represented by this stack trace element.

getClassLoaderName

Returns the name of the class loader of the class containing the execution point represented by this stack trace element.

getClassName

Returns the fully qualified name of the class containing the execution point represented by this stack trace element.

getMethodName

Returns the name of the method containing the execution point represented by this stack trace element. If the execution point is contained in an instance or class initializer, this method will return the appropriate special method name, or , as per Section 3.9 of The Java Virtual Machine Specification .

isNativeMethod

Returns true if the method containing the execution point represented by this stack trace element is a native method.

toString

  • » com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101) » — See the description below.
  • » com.foo.loader/foo@9.0/com.foo.Main.run(Main.java) » — The line number is unavailable.
  • » com.foo.loader/foo@9.0/com.foo.Main.run(Unknown Source) » — Neither the file name nor the line number is available.
  • » com.foo.loader/foo@9.0/com.foo.Main.run(Native Method) » — The method containing the execution point is a native method.
  • » com.foo.loader//com.foo.bar.App.run(App.java:12) » — The class of the execution point is defined in the unnamed module of the class loader named com.foo.loader .
  • » acme@2.1/org.acme.Lib.test(Lib.java:80) » — The class of the execution point is defined in acme module loaded by a built-in class loader such as the application class loader.
  • » MyClass.mash(MyClass.java:9) » — MyClass class is on the application class path.

The first example shows a stack trace element consisting of three elements, each separated by «/» , followed by the source file name and the line number of the source line containing the execution point. The first element » com.foo.loader » is the name of the class loader. The second element » foo@9.0 » is the module name and version. The third element is the method containing the execution point; » com.foo.Main» » is the fully-qualified class name and » run » is the name of the method. » Main.java » is the source file name and » 101 » is the line number.

If a class is defined in an unnamed module then the second element is omitted as shown in » com.foo.loader//com.foo.bar.App.run(App.java:12) «.

If the class loader is a built-in class loader or is not named then the first element and its following «/» are omitted as shown in » acme@2.1/org.acme.Lib.test(Lib.java:80) «. If the first element is omitted and the module is an unnamed module, the second element and its following «/» are also omitted as shown in » MyClass.mash(MyClass.java:9) «.

The toString method may return two different values on two StackTraceElement instances that are equal, for example one created via the constructor, and one obtained from Throwable or StackWalker.StackFrame , where an implementation may choose to omit some element in the returned string.

equals

Returns true if the specified object is another StackTraceElement instance representing the same execution point as this instance. Two stack trace elements a and b are equal if and only if:

 equals(a.getClassLoaderName(), b.getClassLoaderName()) && equals(a.getModuleName(), b.getModuleName()) && equals(a.getModuleVersion(), b.getModuleVersion()) && equals(a.getClassName(), b.getClassName()) && equals(a.getMethodName(), b.getMethodName()) equals(a.getFileName(), b.getFileName()) && a.getLineNumber() == b.getLineNumber() 

hashCode

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2023, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

Источник

Оцените статью