- 封闭类:
-
StackWalker
public static interface StackWalker.StackFrame
- 参见Java虚拟机规范:
-
2.6
- 自JDK版本:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionint
返回代表此堆栈帧所表示的执行点的Code
属性的代码数组索引。获取此堆栈帧所表示方法的声明类的二进制名称。Class
<?> 获取此堆栈帧所表示方法的声明Class
。default String
返回由Java虚拟机规范定义的此堆栈帧所代表方法的描述符。返回代表此堆栈帧所表示的执行点的源文件的名称。int
返回代表此堆栈帧所表示的执行点的源行的行号。获取此堆栈帧所表示方法的名称。default MethodType
返回代表此堆栈帧所表示方法的MethodType
,表示方法的参数类型和返回类型。boolean
如果包含此堆栈帧所表示的执行点的方法是本地方法,则返回true
。获取此堆栈帧的StackTraceElement
。
-
Method Details
-
getClassName
String getClassName()获取此堆栈帧所表示方法的声明类的二进制名称。- 返回:
- 此堆栈帧所表示方法的声明类的二进制名称
- 参见Java语言规范:
-
13.1 二进制形式
-
getMethodName
String getMethodName()获取此堆栈帧所表示方法的名称。- 返回:
- 此堆栈帧所表示方法的名称
-
getDeclaringClass
Class<?> getDeclaringClass()获取此堆栈帧所表示方法的声明Class
。- 返回:
-
此堆栈帧所表示方法的声明
Class
- 抛出:
-
UnsupportedOperationException
- 如果此StackWalker
未配置为使用Option.RETAIN_CLASS_REFERENCE
。
-
getMethodType
返回代表此堆栈帧所表示方法的MethodType
,表示方法的参数类型和返回类型。- 实现要求:
-
默认实现会抛出
UnsupportedOperationException
。 - 返回:
-
此堆栈帧的
MethodType
- 抛出:
-
UnsupportedOperationException
- 如果此StackWalker
未配置为使用Option.RETAIN_CLASS_REFERENCE
。 - 自JDK版本:
- 10
-
getDescriptor
返回由Java虚拟机规范定义的此堆栈帧所代表方法的描述符。- 实现要求:
-
默认实现会抛出
UnsupportedOperationException
。 - 返回:
- 此堆栈帧所表示方法的描述符
- 参见Java虚拟机规范:
-
4.3.3 方法描述符
- 自JDK版本:
- 10
- 另请参阅:
-
getByteCodeIndex
int getByteCodeIndex()返回代表此堆栈帧所表示的执行点的Code
属性的代码数组索引。代码数组提供了实现方法的Java虚拟机代码的实际字节。- 返回:
-
返回代表此堆栈帧所表示的执行点的
Code
属性的代码数组索引,如果方法是本地方法则返回负数。 - 参见Java虚拟机规范:
-
4.7.3
Code
属性
-
getFileName
String getFileName()返回代表此堆栈帧所表示的执行点的源文件的名称。通常,这对应于由Java虚拟机规范定义的相关class
文件的SourceFile
属性。在某些系统中,该名称可能指的是除文件之外的某个源代码单元,例如源代码库中的条目。- 返回:
-
返回代表此堆栈帧所表示的执行点的源文件的名称,如果此信息不可用则返回
null
。 - 参见Java虚拟机规范:
-
4.7.10
SourceFile
属性
-
getLineNumber
int getLineNumber()返回代表此堆栈帧所表示的执行点的源行的行号。通常,这是根据由Java虚拟机规范定义的相关class
文件的LineNumberTable
属性推导出的。- 返回:
- 返回代表此堆栈帧所表示的执行点的源行的行号,如果此信息不可用则返回负数。
- 参见Java虚拟机规范:
-
4.7.12
LineNumberTable
属性
-
isNativeMethod
boolean isNativeMethod()如果包含此堆栈帧所表示的执行点的方法是本地方法,则返回true
。- 返回:
-
如果包含此堆栈帧所表示的执行点的方法是本地方法,则返回
true
。
-
toStackTraceElement
StackTraceElement toStackTraceElement()获取此堆栈帧的StackTraceElement
。- 返回:
-
此堆栈帧的
StackTraceElement
。
-