Вы можете использовать метод getStackTrace() для получения массива StackTraceElements и генерировать строку оттуда. В противном случае, если достаточно только окончательного сообщения об ошибке, используйте метод getMessage()
, предложенный Макото.
Чтобы получить трассировку стека как String
из массива StackTraceElement
объектов, вам нужно перебрать массив (взято из источника JDK7):
StringBuilder builder = new StringBuilder();
StackTraceElement[] trace = getOurStackTrace();
for (StackTraceElement traceElement : trace)
builder.append("\tat " + traceElement + "\n");
Другой вариант заключается в использовании printStackTrace(PrintStream s)
, где вы получите чтобы определить, где вы хотите, чтобы StackTrace для печати:
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
PrintStream out2 = new PrintStream(out1);
ex.printStackTrace(out2);
String message = out1.toString("UTF8");
вкратце: НЕТ, u не может. – Bikku
Конечно, используйте это: https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/org/apache/commons/lang3/exception/ExceptionUtils.html#getStackTrace(java.lang.Throwable) from commons-lang3 3.4 – EpicPandaForce
Какое строковое значение будет «ничего» в? – user2864740