首页 > 编程语言 > 详细

Java异常堆栈信息转String

时间:2015-05-20 16:33:55      阅读:300      评论:0      收藏:0      [点我收藏+]

平时使用e.getMessage()或e.printStackTrace();

第一种报异常时要throw new RuntimeException("异常"),只能得到异常2字.

第二种e.printStackTrace();只是打印,不返回任何数据.

而服务器一般是集群或其他方式部署,查看日志的话太麻烦,可以吧堆栈信息转成String等类型,然后进行保存到数据库、放在页面隐藏域中方便查看.

介绍3种方法供选择:

方法一:

package name.xu;public class CallStack {    public static void printCallStatck() {
        Throwable ex = new Throwable();
        StackTraceElement[] stackElements = ex.getStackTrace();        
        if (stackElements != null) {            
            for (int i = 0; i < stackElements.length; i++) {
                System.out.print(stackElements[i].getClassName()+"/t");
                System.out.print(stackElements[i].getFileName()+"/t");
                System.out.print(stackElements[i].getLineNumber()+"/t");
                System.out.println(stackElements[i].getMethodName());
                System.out.println("-----------------------------------");
            }
        }
    }
    
}


方法二:

Exception e = new Exception("this is a log");
e.printStackTrace();

 

方法三:

String fullStackTrace = org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace(e)

 

方法四:

Thread.currentThread().getStackTrace()

 

个人推荐,方法一,原因:简单易用,速度快


Java异常堆栈信息转String

原文:http://my.oschina.net/u/1472917/blog/417232

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!