|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang
类 StackTraceElement
java.lang.Object java.lang.StackTraceElement
- 所有已实现的接口:
- Serializable
-
public final class StackTraceElement
- extends Object
- implements Serializable
堆栈跟踪中的元素,它由 Throwable.getStackTrace()
返回。每个元素表示单独的一个堆栈帧。所有的堆栈帧(堆栈顶部的那个堆栈帧除外)都表示一个方法调用。堆栈顶部的帧表示生成堆栈跟踪的执行点。通常,这是创建对应于堆栈跟踪的 throwable 的点。
- 从以下版本开始:
- 1.4
- 另请参见:
- 序列化表格
构造方法摘要 | |
---|---|
StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber) 创建表示指定执行点的堆栈跟踪元素。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj) 如果指定的对象是另一个 StackTraceElement 实例,并且该对象表示的执行点与该实例的相同,则返回 ture。 |
String |
getClassName() 返回类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。 |
String |
getFileName() 返回源文件名,该文件包含由该堆栈跟踪元素所表示的执行点。 |
int |
getLineNumber() 返回源行的行号,该行包含由该堆栈该跟踪元素所表示的执行点。 |
String |
getMethodName() 返回方法名,此方法包含由该堆栈跟踪元素所表示的执行点。 |
int |
hashCode() 返回此堆栈跟踪元素的哈希码值。 |
boolean |
isNativeMethod() 如果包含由该堆栈跟踪元素所表示的执行点的方法是一个本机方法,则返回 true。 |
String |
toString() 返回表示该堆栈跟踪元素的字符串。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
StackTraceElement
public StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)
-
创建表示指定执行点的堆栈跟踪元素。
- 参数:
-
declaringClass
- 类的完全限定名,该类包含由堆栈跟踪元素所表示的执行点 -
methodName
- 方法名,该方法包含由堆栈跟踪元素所表示的执行点 -
fileName
- 文件名,该文件包含由堆栈跟踪元素所表示的执行点;如果该信息不可用,则该参数为 null -
lineNumber
- 源代码行的行号,该代码行包含由堆栈跟踪元素所表示的执行点;如果此信息不可用,则该参数为负数。值 -2 表示包含执行点的方法是一个本机方法 - 抛出:
-
NullPointerException
- 如果 declaringClass 或 methodName 为 null - 从以下版本开始:
- 1.5
方法详细信息 |
---|
getFileName
public String getFileName()
- 返回源文件名,该文件包含由该堆栈跟踪元素所表示的执行点。通常,这对应于相关 class 文件的 SourceFile 属性(根据《The Java Virtual Machine Specification》中的第 4.7.7 节)。在某些系统中,该名称可能指的是源代码单元而不是某个文件,如源存储库中的某个项。
-
-
- 返回:
- 文件名,该文件包含由该堆栈跟踪元素所表示的执行点;如果该信息不可用,则返回 null。
getLineNumber
public int getLineNumber()
- 返回源行的行号,该行包含由该堆栈该跟踪元素所表示的执行点。通常,该方法派生自相关 class 文件的 LineNumberTable 属性(根据《The Java Virtual Machine Specification》中的第 4.7.8 小节)。
-
-
- 返回:
- 源代码行的行号,该代码行包含由该堆栈跟踪元素所表示的执行点;如果该信息不可用,则返回负数。
getClassName
public String getClassName()
- 返回类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。
-
-
- 返回:
- Class 的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。
getMethodName
public String getMethodName()
- 返回方法名,此方法包含由该堆栈跟踪元素所表示的执行点。如果执行点包含在某个实例或类初始化程序中,则此方法将返回适当的特殊方法名:<init> 或 <clinit>(根据《The Java Virtual Machine Specification》中的第 3.9 小节)。
-
-
- 返回:
- 方法名,该方法包含由该堆栈跟踪元素所表示的执行点。
isNativeMethod
public boolean isNativeMethod()
- 如果包含由该堆栈跟踪元素所表示的执行点的方法是一个本机方法,则返回 true。
-
-
- 返回:
- 如果包含由该堆栈跟踪元素所表示的执行点的方法是一个本机方法,则返回 true。
toString
public String toString()
-
返回表示该堆栈跟踪元素的字符串。该字符串的格式取决于实现,但是可将以下示例格式视为典型的格式:
- "MyClass.mash(MyClass.java:9)" - 其中,"MyClass" 是类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点;"mash" 是包含执行点的方法的名字;"MyClass.java" 是包含执行点的源文件;"9" 是包含执行点的源行的行号。
- "MyClass.mash(MyClass.java)" - 同上,但是行号不可用。
- "MyClass.mash(Unknown Source)" - 同上,但是文件名和行号都不可用。
- "MyClass.mash(Native Method)" - 同上,但是文件名和行号都不可用,并且已知包含执行点的方法是本机方法。
-
- 返回:
- 该对象的字符串表示形式。
- 另请参见:
-
Throwable.printStackTrace()
equals
public boolean equals(Object obj)
-
如果指定的对象是另一个 StackTraceElement 实例,并且该对象表示的执行点与该实例的相同,则返回 ture。当且仅当满足下列条件时,堆栈跟踪元素 a 和 b 相同:
equals(a.getFileName(), b.getFileName()) && a.getLineNumber() == b.getLineNumber()) && equals(a.getClassName(), b.getClassName()) && equals(a.getMethodName(), b.getMethodName())
其中定义 equals 为:static boolean equals(Object a, Object b) { return a==b || (a != null && a.equals(b)); }
-
- 参数:
-
obj
- 要与该堆栈跟踪元素相比较的对象。 - 返回:
- 如果指定的对象是另一个 StackTraceElement 实例,并且该对象表示的执行点与该实例的相同,则返回 true。
- 另请参见:
-
Object.hashCode()
,Hashtable