先说建议:不要使用e.printStackTrace()


目录

1.书写方式

1.1错误的书写

try {
	//xxxx代码块	
}catch (Exception e) {
	e.printStackTrace();
	/*e.printStackTrace()将错误信息全部打印至控制台上展示*/
}

一般我们习惯直接try/catch捕获错误异常,但是这是错误的,因为printStackTrace()方法实际上毫无意义,他只是打印到控制台,还会占用很大的内存。

1.2正确的书写

try {
	//xxxx代码块	
}catch (Exception e) {
	log.error("xxx错误,阿巴阿巴xxx", e.getMessage());
	/*也可以e.getCause().getMessage()
	在getMessage()获取异常名称的基础上,
	添加了异常原因
	e.getMessage()是将错误打印至error.log日志文件中
	*/
}

2.e.printStackTrace()的好处和坏处

2.1.好处

e.printStackTrace()会将错误信息全部打印在控制台

2.2.坏处

e.printStackTrace()虽然将错误信息打印在了控制台,但是,太多了,一个异常(错误)可能打印几十行。然后大量的字符占用大量的内存,可能会堵塞其他的一些请求啊什么的。

大佬带的e.printStackTrace()的分析

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐