Android 怎么把异常的StackTrace信息格式化为String

Android开发中,常常需要把异常信息的StackTrace转化成String写入日志文件中。 最初,我使用getStackTrace().toString() 这样的代码,后来发现这样无法获取全部信息,怎么办呢,经过查阅资料,写出了下面的函数:

public static String FormatStackTrace(Throwable throwable) {       if(throwable==null) return "";       String rtn = throwable.getStackTrace().toString();       try {           Writer writer = new StringWriter();           PrintWriter printWriter = new PrintWriter(writer);           throwable.printStackTrace(printWriter);                printWriter.flush();           writer.flush();           rtn = writer.toString();           printWriter.close();                       writer.close();       } catch (IOException e) {           e.printStackTrace();       } catch (Exception ex) {       }       return rtn;   }  

由于Exception继承与Throwable,因此,可以直接给该方法传递Exception的对象。

主要适用的类:java.io.Writer 和java.io.StringWriter

java.lang.Exception

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzpdz.html