1. 程式人生 > >異常處理的工具類

異常處理的工具類

package com.opslab.util;

import java.io.PrintWriter;
import java.io.StringWriter;

/**
* 異常處理的工具類
*/
public final class ExceptionUtil {
/**
* 只返回指定包中的異常堆疊資訊
*
* @param e 異常資訊
* @param packageName 只轉換某個包下的資訊
* @return string
*/
public 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 string
*/
public static String stackTraceToString(Throwable e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw, true));
return sw.toString();
}
}