Интерфейс StackWalker.StackFrame
- Внешний класс:
StackWalker
public static interface StackWalker.StackFrame
StackFrame представляет вызов метода, возвращённый StackWalker. Параметры обходчика стека определяют сведения о кадрах стека, получаемые с помощью StackWalker. Если обходчик стека настроен с параметром DROP_METHOD_INFO, сведения о методе, такие как имя метода, номер строки, индекс байт-кода и т. д., будут отброшены. Если обходчик стека настроен с параметром RETAIN_CLASS_REFERENCE, объект Class будет сохранён для доступа.
- См. Спецификацию виртуальной машины Java:
- 2.6 Кадры
- Начиная с:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getByteCodeIndex() |
Возвращает индекс в массиве кода атрибута Code, содержащего точку выполнения, представленную этим кадром стека. |
String |
getClassName() |
Возвращает двоичное имя класса, объявившего метод, представленный этим кадром стека. |
Class |
getDeclaringClass() |
Возвращает объявивший Class для метода, представленного этим кадром стека. |
default String |
getDescriptor() |
Возвращает дескриптор метода, представленного этим кадром стека, согласно определению в Спецификации виртуальной машины Java. |
String |
getFileName() |
Возвращает имя исходного файла, содержащего точку выполнения, представленную этим кадром стека. |
int |
getLineNumber() |
Возвращает номер исходной строки, содержащей точку выполнения, представленную этим кадром стека. |
String |
getMethodName() |
Возвращает имя метода, представленного этим кадром стека. |
default MethodType |
getMethodType() |
Возвращает MethodType, представляющий типы параметров и возвращаемый тип метода, представленного этим кадром стека. |
boolean |
isNativeMethod() |
Возвращает true, если метод, содержащий точку выполнения, представленную этим кадром стека, является нативным методом. |
StackTraceElement |
toStackTraceElement() |
Возвращает StackTraceElement для этого кадра стека. |
Подробное описание методов
getClassName
String getClassName()
- Возвращает:
- двоичное имя класса, объявившего метод, представленный этим кадром стека
- См. Спецификацию языка Java:
- 13.1 Форма двоичного представления
getMethodName
String getMethodName()
- Возвращает:
- имя метода, представленного этим кадром стека
- Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO
getDeclaringClass
Class<?> getDeclaringClass()
Class для метода, представленного этим кадром стека.- Возвращает:
- объявивший
Classдля метода, представленного этим кадром стека - Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен без параметраRETAIN_CLASS_REFERENCE
getMethodType
default MethodType getMethodType()
MethodType, представляющий типы параметров и возвращаемый тип метода, представленного этим кадром стека.- Требования к реализации:
- Реализация по умолчанию выбрасывает
UnsupportedOperationException. - Возвращает:
MethodTypeметода, представленного этим кадром стека- Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFOили без параметраRETAIN_CLASS_REFERENCE - Начиная с:
- 10
getDescriptor
default String getDescriptor()
- Требования к реализации:
- Реализация по умолчанию выбрасывает
UnsupportedOperationException. - Возвращает:
- дескриптор метода, представленного этим кадром стека
- Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO - См. Спецификацию виртуальной машины Java:
- 4.3.3 Дескрипторы методов
- Начиная с:
- 10
- См. также:
getByteCodeIndex
int getByteCodeIndex()
Code, содержащего точку выполнения, представленную этим кадром стека. Массив кода содержит фактические байты кода виртуальной машины Java, реализующие метод.- Возвращает:
- индекс в массиве кода атрибута
Code, содержащего точку выполнения, представленную этим кадром стека, или отрицательное число, если метод является нативным. - Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO - См. Спецификацию виртуальной машины Java:
- 4.7.3 Атрибут
Code
getFileName
String getFileName()
SourceFile соответствующего файла class, как определено в Спецификации виртуальной машины Java. В некоторых системах имя может обозначать единицу исходного кода, отличную от файла, например запись в репозитории исходного кода.- Возвращает:
- имя файла, содержащего точку выполнения, представленную этим кадром стека, или
null, если эти сведения недоступны. - Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO - См. Спецификацию виртуальной машины Java:
- 4.7.10 Атрибут
SourceFile
getLineNumber
int getLineNumber()
LineNumberTable соответствующего файла class, как определено в Спецификации виртуальной машины Java.- Возвращает:
- номер исходной строки, содержащей точку выполнения, представленную этим кадром стека, или отрицательное число, если эти сведения недоступны.
- Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO - См. Спецификацию виртуальной машины Java:
- 4.7.12 Атрибут
LineNumberTable
isNativeMethod
boolean isNativeMethod()
true, если метод, содержащий точку выполнения, представленную этим кадром стека, является нативным методом.- Возвращает:
-
true, если метод, содержащий точку выполнения, представленную этим кадром стека, является нативным методом - Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO
toStackTraceElement
StackTraceElement toStackTraceElement()
StackTraceElement для этого кадра стека.- Возвращает:
-
StackTraceElementдля этого кадра стека - Вызывает исключение:
-
UnsupportedOperationException— еслиStackWalkerнастроен с параметромDROP_METHOD_INFO
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/StackWalker.StackFrame.html