Kāds ir vienkāršākais veids, kā pārvērst Throwable.getStackTrace()
rezultātu virknē, kas attēlo stackTrace?
Izmantojiet Throwable.printStackTrace(PrintWriter pw)
, lai nosūtītu kaudzes izsekojamību attiecīgajam rakstītājam.
import java.io.StringWriter;
import java.io.PrintWriter;
// ...
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String sStackTrace = sw.toString(); // stack trace as a string
System.out.println(sStackTrace);
Tam vajadzētu darboties:
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String exceptionAsString = sw.toString();
BRĪDINĀJUMS: Nav iekļauts iemesls (kas parasti ir noderīgs!)
public String stackTraceToString(Throwable e) {
StringBuilder sb = new StringBuilder();
for (StackTraceElement element : e.getStackTrace()) {
sb.append(element.toString());
sb.append("\n");
}
return sb.toString();
}