Spec-Zone.ru › OpenJDK 8

Класс StackTraceElement

  • java.lang.Object
    • java.lang.StackTraceElement
Все реализованные интерфейсы:
Serializable

public final class StackTraceElement
extends Object
implements Serializable

Элемент стека вызовов, возвращаемый методом Throwable.getStackTrace(). Каждый элемент представляет собой одну кадр стека. Все кадры стека, кроме самого верхнего, представляют вызов метода. Кадр на вершине стека представляет точку выполнения, в которой был сгенерирован стек вызовов. Как правило, это точка, в которой был создан исключительный объект, соответствующий стеку вызовов.

С тех пор:
1.4
См. также:
Форматированная информация о сериализации

Конструкторы

Конструктор и описание
StackTraceElement(String declaringClass, String methodName, String fileName, int lineNumber)

Создает элемент стека вызовов, представляющий указанную точку выполнения.

Методы

Модификатор и тип Метод и описание
boolean equals(Object obj)

Возвращает true, если указанный объект является другим экземпляром StackTraceElement , представляющим ту же точку выполнения, что и этот экземпляр.

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()

Возвращает имя файла исходного кода, содержащего точку выполнения, представленную этим элементом стека вызовов. Как правило, это соответствует атрибуту SourceFile соответствующего файла class (согласно Спецификации виртуальной машины Java, раздел 4.7.7). В некоторых системах имя может ссылаться на какой-либо элемент исходного кода, отличный от файла, например, запись в системе контроля версий.

Возвращает:
имя файла, содержащего точку выполнения, представленную этим элементом стека вызовов, или null , если эта информация недоступна.

getLineNumber

public int getLineNumber()

Возвращает номер строки исходного кода, содержащей точку выполнения, представленную этим элементом стека вызовов. Как правило, это определяется по атрибуту LineNumberTable соответствующего файла class (согласно Спецификации виртуальной машины Java, раздел 4.7.8).

Возвращает:
номер строки исходного кода, содержащей точку выполнения, представленную этим элементом стека вызовов, или отрицательное число, если эта информация недоступна.

getClassName

public String getClassName()

Возвращает полное имя класса, содержащего точку выполнения, представленную этим элементом стека вызовов.

Возвращает:
полное имя класса, содержащего точку выполнения, представленную этим элементом стека вызовов.

getMethodName

public String getMethodName()

Возвращает имя метода, содержащего точку выполнения, представленную этим элементом стека вызовов. Если точка выполнения содержится в инициализаторе экземпляра или класса, этот метод вернёт соответствующее специальное имя метода, <init> или <clinit>, согласно разделу 3.9 Спецификации виртуальной машины Java.

Возвращает:
имя метода, содержащего точку выполнения, представленную этим элементом стека вызовов.

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)" - Как выше, но ни имя файла, ни номер строки недоступны, и метод, содержащий точку выполнения, известен как метод нативного кода.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.
См. также:
Throwable.printStackTrace()

equals

public boolean equals(Object obj)

Возвращает true, если указанный объект является другим экземпляром StackTraceElement , представляющим ту же точку выполнения, что и этот экземпляр. Два элемента стека вызовов a и b равны тогда и только тогда, когда:

equals(a.getFileName(), b.getFileName()) &&
     a.getLineNumber() == b.getLineNumber()) &&
     equals(a.getClassName(), b.getClassName()) &&
     equals(a.getMethodName(), b.getMethodName())
где equals имеет семантику Objects.equals.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для сравнения с этим элементом стека вызовов.
Возвращает:
true, если указанный объект является другим экземпляром StackTraceElement , представляющим ту же точку выполнения, что и этот экземпляр.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Возвращает значение хэш-кода для этого элемента стека вызовов.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

© 1993, 2020, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API