首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

e.getStackTrace()跟ExceptionUtils.getStackTrace(e)

2012-09-09 
e.getStackTrace()和ExceptionUtils.getStackTrace(e)?哪位帮忙详细解释一下异常处理时,写日志使用java ap

e.getStackTrace()和ExceptionUtils.getStackTrace(e)?
哪位帮忙详细解释一下异常处理时,写日志使用
java api Exception中的getStackTrace()方法和org.apache.commons.lang.exception.ExceptionUtils.getStackTrace(e) 
两者有什么区别,对程序有什么影响?

[解决办法]
没有区别。org.apache.commons.lang.exception.ExceptionUtils 这个类只不过是apache 封装过的。
[解决办法]
正常情况下公司不会让你那么简单的就getStackTrace的
[解决办法]
这两者倒是没什么区别
[解决办法]
看了源码你就清楚了:
org.apache.commons.lang.exception.ExceptionUtils.getStackTrace(e):

Java code
public static String getStackTrace(Throwable throwable) {        StringWriter sw = new StringWriter();        PrintWriter pw = new PrintWriter(sw, true);        throwable.printStackTrace(pw);        return sw.getBuffer().toString();    }
[解决办法]
楼主看下返回值,就知道为什么了。

e.getStackTrace() 返回一个 StackTraceElement[]

ExceptionUtils.getStackTrace(e) 返回一个 String

如果是打印日志,是不是直接输出一个String好呢?

热点排行