-
- Enclosing class:
- StackWalker
public static interface StackWalker.StackFrame
StackFrame
对象表示由StackWalker
返回的方法调用。getDeclaringClass()
方法可能不受支持,如stack walking options的stack walking options所确定。- 从以下版本开始:
- 9
- See The Java™ Virtual Machine Specification:
- 2.6
-
-
方法摘要
所有方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 int
getByteCodeIndex()
返回Code
属性的代码数组的索引,该属性包含此堆栈帧表示的执行点。String
getClassName()
获取此堆栈帧表示的方法的声明类的 binary name 。类<?>
getDeclaringClass()
获取此堆栈帧表示的方法的声明类
。default String
getDescriptor()
返回由此堆栈帧表示的方法的 描述符 ,由 The Java Virtual Machine Specification定义。String
getFileName()
返回包含此堆栈帧表示的执行点的源文件的名称。int
getLineNumber()
返回包含此堆栈帧表示的执行点的源行的行号。String
getMethodName()
获取此堆栈帧表示的方法的名称。default MethodType
getMethodType()
返回MethodType
,表示此堆栈帧表示的方法的参数类型和返回类型。boolean
isNativeMethod()
如果包含此堆栈帧表示的执行点的方法是本机方法,则返回true
。StackTraceElement
toStackTraceElement()
获取此堆栈帧的StackTraceElement
。
-
-
-
方法详细信息
-
getClassName
String getClassName()
获取此堆栈帧表示的方法的声明类的 binary name 。- 结果
- 此堆栈帧表示的方法的声明类的二进制名称
- See The Java™ Language Specification:
- 13.1二进制形式
-
getMethodName
String getMethodName()
获取此堆栈帧表示的方法的名称。- 结果
- 此堆栈帧表示的方法的名称
-
getDeclaringClass
类<?> getDeclaringClass()
获取此堆栈帧表示的方法的声明类
。- 结果
- 声明由该堆栈帧表示的方法的
类
- 异常
-
UnsupportedOperationException
- 如果StackWalker
未配置Option.RETAIN_CLASS_REFERENCE
。
-
getMethodType
default MethodType getMethodType()
返回MethodType
,表示此堆栈帧表示的方法的参数类型和返回类型。- 实现要求:
- 默认实现抛出
UnsupportedOperationException
。 - 结果
- 这个堆栈帧的
MethodType
- 异常
-
UnsupportedOperationException
- 如果StackWalker
未配置Option.RETAIN_CLASS_REFERENCE
。 - 从以下版本开始:
- 10
-
getDescriptor
default String getDescriptor()
返回由此堆栈帧表示的方法的 描述符 ,由 The Java Virtual Machine Specification定义。- 实现要求:
- 默认实现抛出
UnsupportedOperationException
。 - 结果
- 此堆栈帧表示的方法的描述符
- 从以下版本开始:
- 10
- 另请参见:
-
MethodType.fromMethodDescriptorString(String, ClassLoader)
,MethodType.toMethodDescriptorString()
- See The Java™ Virtual Machine Specification:
- 4.3.3方法描述符
-
getByteCodeIndex
int getByteCodeIndex()
返回Code
属性的代码数组的索引,该属性包含此堆栈帧表示的执行点。 代码数组给出了实现该方法的Java虚拟机代码的实际字节数。- 结果
- 包含此堆栈帧表示的执行点的
Code
属性的代码数组的索引,如果该方法是本机的,则为负数。 - See The Java™ Virtual Machine Specification:
- 4.7.3
Code
属性
-
getFileName
String getFileName()
返回包含此堆栈帧表示的执行点的源文件的名称。 一般地,这对应于SourceFile
相关的属性class
文件由The Java Virtual Machine Specification所定义的。 在某些系统中,名称可以指代除文件之外的某些源代码单元,例如源存储库中的条目。- 结果
- 包含此堆栈帧表示的执行点的文件的名称,如果此信息不可用,
null
。 - See The Java™ Virtual Machine Specification:
- 4.7.10
SourceFile
属性
-
getLineNumber
int getLineNumber()
返回包含此堆栈帧表示的执行点的源行的行号。 通常,这是从衍生LineNumberTable
相关的属性class
文件由The Java Virtual Machine Specification所定义的。- 结果
- 包含此堆栈帧表示的执行点的源行的行号,如果此信息不可用,则为负数。
- See The Java™ Virtual Machine Specification:
- 4.7.12
LineNumberTable
属性
-
isNativeMethod
boolean isNativeMethod()
如果包含此堆栈帧表示的执行点的方法是本机方法,则返回true
。- 结果
-
true
如果包含此堆栈帧表示的执行点的方法是本机方法。
-
toStackTraceElement
StackTraceElement toStackTraceElement()
获取此堆栈帧的StackTraceElement
。- 结果
-
StackTraceElement
用于此堆栈帧。
-
-