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

595
2023/8/22 12:00:33
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

  1. 将异常信息输出到字符串中:
import java.io.PrintWriter;
import java.io.StringWriter;
try {
// 可能会抛出异常的代码
} catch (Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String exceptionAsString = sw.toString();
// 可以使用 exceptionAsString 进行处理或打印
}
  1. 使用Java 8的新特性Throwable.getStackTrace()获取堆栈跟踪信息,然后将其转换为字符串:
import java.util.Arrays;
import java.util.stream.Collectors;
try {
// 可能会抛出异常的代码
} catch (Exception e) {
String stackTraceAsString = Arrays.stream(e.getStackTrace())
.map(StackTraceElement::toString)
.collect(Collectors.joining("\n"));
// 可以使用 stackTraceAsString 进行处理或打印
}

这两种方法都可以获得异常的堆栈跟踪信息,并将其转换为字符串形式。您可以根据具体需求选择使用哪种方法。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java创建二维数组怎么排序