java的异常(Exception)信息的详细记录

时间:2022-08-09 16:23:25

原文地址:http://blog.csdn.net/long95wang/article/details/8089489


获取Exception的详细信息

 

我自己运行测试的环境:windowsXP、eclipse3.5.1、jdk1.6

下面的三个方法都是获取异常的详细信息,或许的异常详细信息以字符串的形式返回,保持栈堆载的风格

 

方法一:

public static String getExceptionAllinformation(Exception ex){
        String sOut = "";
        StackTraceElement[] trace = ex.getStackTrace();
        for (StackTraceElement s : trace) {
            sOut += "\tat " + s + "\r\n";
        }
        return sOut;
 }

方法二:

 public static String getExceptionAllinformation_01(Exception ex) {
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         PrintStream pout = new PrintStream(out);
         ex.printStackTrace(pout);
         String ret = new String(out.toByteArray());
         pout.close();
         try {
              out.close();
         } catch (Exception e) {
         }
         return ret;
 }

方法三:

    private static String toString_02(Throwable e){   
            StringWriter sw = new StringWriter();   
            PrintWriter pw = new PrintWriter(sw, true);   
            e.printStackTrace(pw);   
            pw.flush();   
            sw.flush();   
            return sw.toString();   
    }