背景
在开发Java应用程序的时候,遇到程序抛异常,我们通常会把抛异常时的运行时环境保存下来(写到日志文件或者在控制台中打印出来)。这样方便后续定位问题。
需要记录的运行时环境包含两部分内容:抛异常时的参数信息和函数调用堆栈。针对堆栈信息,如果直接调用Exception的getStackTrace方法获取将得到这样一句没用的信息:
[Ljava.lang.StackTraceElement;@4361bd48
我们希望能打印完整的调用堆栈,像这样:
com.elon.FileNoExistException at com.elon.StaruptService.throwException(StaruptService.java:21)
at com.elon.StaruptService.main(StaruptService.java:9)
方案
提供一个静态公有方法用于获取异常的堆栈信息。将堆栈作为异常信息的一部分输出到日志文件或者打印到控制台界面。
步骤一:创建一个Demo项目

步骤二:编写样例代码
1、获取异常堆栈的公共方法:
package com.elon;
import java.io.PrintWriter;
import java.io.StringWriter;
public class UtilTool
{



















