Вывести стек исключений

506
11 сентября 2017, 04:06

Нужно вывести стек исключений, например:

throw new Exception("ABC", new RuntimeException("DEF", new IllegalAccessException("GHI")));

Желаемый вывод:

java.lang.IllegalAccessException: GHI
java.lang.RuntimeException: DEF
java.lang.Exception: ABC

Как можно реализовать это наиболее эффективным путём?

Answer 1

У класса Throwable есть метод getCause() он возвращает ввложеное исключение, https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#getCause() можно рекурсивно перебрать и вывести

Answer 2
...
catch(Exception exc) {
     exc.printStackTrace();
}
READ ALSO
Считать весь поток сообщения

Считать весь поток сообщения

Читается только 10069 символов, или есть ли способ читать всю json структуру?

242
Подключение botanio к telegram боту

Подключение botanio к telegram боту

Привет! Создал Телеграм бота на javaТеперь прикручиваю yandex metrik'у

336
При отмене уведомлений в трее, лампочка телефона продолжает мигать

При отмене уведомлений в трее, лампочка телефона продолжает мигать

Я сделал уведомления в трее через NotificationManagerПомимо звукового сигнала и вибрации, есть ещё индикация светодиода

225