不使用Apache-Commons-Lang3的获取最尾端异常,采用递归方式

This commit is contained in:
lgc 2023-04-28 16:38:27 +08:00
parent d25421bafd
commit 401b800a8c

View File

@ -416,16 +416,17 @@ public class ExceptionUtil {
* 此方法通过调用{@link Throwable#getCause()} 直到没有cause为止如果异常本身没有cause返回异常本身<br>
* 传入null返回也为null
*
* <p>
* 此方法来自Apache-Commons-Lang3
* </p>
*
* @param throwable 异常对象可能为null
* @return 最尾端异常传入null参数返回也为null
*/
public static Throwable getRootCause(final Throwable throwable) {
final List<Throwable> list = getThrowableList(throwable);
return list.size() < 1 ? null : list.get(list.size() - 1);
Throwable cause = throwable.getCause();
if (cause != null) {
return getRootCause(cause);
}else{
return throwable;
}
}
/**