РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
699 of 1163 menu

Метод printStackTrace

Метод printStackTrace класса Throwable выводит информацию о стеке вызовов текущего исключения в стандартный поток ошибок (обычно это консоль). Стек вызовов показывает последовательность методов, которые привели к возникновению исключения, что очень помогает при отладке программ. Метод может принимать в качестве параметра поток вывода, например PrintStream или PrintWriter, но чаще всего вызывается без параметров.

Синтаксис

throwable.printStackTrace() throwable.printStackTrace(PrintStream s) throwable.printStackTrace(PrintWriter s)

Пример

Давайте создадим исключение и выведем его стек вызовов в стандартный поток ошибок:

public class Main { public static void main(String[] args) { try { int[] arr = new int[5]; arr[10] = 100; } catch (ArrayIndexOutOfBoundsException e) { e.printStackTrace(); } } }

Результат выполнения кода (может незначительно отличаться в зависимости от версии JVM):

java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 5 at Main.main(Main.java:8)

Пример

Давайте выведем стек вызовов в специальный поток, чтобы перенаправить его, например, в файл:

import java.io.PrintStream; import java.io.ByteArrayOutputStream; public class Main { public static void main(String[] args) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos); try { String str = null; str.length(); } catch (NullPointerException e) { e.printStackTrace(ps); } System.out.println(baos.toString()); } }

Результат выполнения кода:

java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null at Main.main(Main.java:15)

Смотрите также

  • метод getMessage,
    который возвращает сообщение об ошибке
  • метод getStackTrace,
    который возвращает массив элементов стека
  • метод getCause,
    который возвращает причину исключения
  • класс Throwable,
    который является базовым для всех ошибок
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить