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

    在开发中,常常需要把异常信息的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;
	}

你可能感兴趣的:(异常,Throwable,异常转化成字符串,exceptio)