package com.opslab.util; import java.io.PrintWriter; import java.io.StringWriter; /** * 异常处理的工具类 */ public final class ExceptionUtil { /** * 只返回指定包中的异常堆栈信息 * * @param e * @param packageName * @return */ public final static String stackTraceToString(Throwable e, String packageName) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw, true)); String str = sw.toString(); if(packageName == null ){ return str; } String[] arrs = str.split("\n"); StringBuffer sbuf = new StringBuffer(); sbuf.append(arrs[0] + "\n"); for (int i = 0; i < arrs.length; i++) { String temp = arrs[i]; if (temp != null && temp.indexOf(packageName) > 0) { sbuf.append(temp + "\n"); } } return sbuf.toString(); } /** * 获取异常信息 * @param e * @return */ public final static String stackTraceToString(Throwable e){ StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw, true)); return sw.toString(); } }