Мне нужно регистрировать трассировку стека, когда я ловлю исключение в моем приложении Java.Я знаю, что исключения имеют встроенный метод printStackTrace()
и что он может отправлять трассировку стека другому PrintWriter / PrintStream, но было бы полезно, если бы я мог получить трассировку стека в виде строки, чтобы я мог манипулировать ею илиотобразить его в JMessagePane или что-то.В настоящее время единственный способ сделать это:
String stackTrace = "";
stackTrace += e.getClass().getName() + ": " + e.getMessage() + "\n";
for (StackTraceElement elt : e.getStackTrace()) {
stackTrace += "\tat " + elt + "\n";
}
Есть ли более чистый способ сделать это?