Java獲取e.printStackTrace()打印的信息方式

小云
304
2023-08-15 12:00:33
欄目: 編程語言

要獲取e.printStackTrace()打印的信息,可以使用以下方法之一:

  1. 將異常信息輸出到字符串中:
import java.io.PrintWriter;
import java.io.StringWriter;
try {
// 可能會(huì)拋出異常的代碼
} catch (Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String exceptionAsString = sw.toString();
// 可以使用 exceptionAsString 進(jìn)行處理或打印
}
  1. 使用Java 8的新特性Throwable.getStackTrace()獲取堆棧跟蹤信息,然后將其轉(zhuǎn)換為字符串:
import java.util.Arrays;
import java.util.stream.Collectors;
try {
// 可能會(huì)拋出異常的代碼
} catch (Exception e) {
String stackTraceAsString = Arrays.stream(e.getStackTrace())
.map(StackTraceElement::toString)
.collect(Collectors.joining("\n"));
// 可以使用 stackTraceAsString 進(jìn)行處理或打印
}

這兩種方法都可以獲得異常的堆棧跟蹤信息,并將其轉(zhuǎn)換為字符串形式。您可以根據(jù)具體需求選擇使用哪種方法。

0