Android 怎么把异常的StackTrace信息格式化为String
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
评论暂时关闭