add methods

This commit is contained in:
Looly 2024-11-04 09:13:10 +08:00
parent ec60393c28
commit db9d3fc721

View File

@ -72,7 +72,7 @@ public class ExceptionUtil {
* @return 运行时异常 * @return 运行时异常
*/ */
public static RuntimeException wrapRuntime(final Throwable throwable) { public static RuntimeException wrapRuntime(final Throwable throwable) {
if(throwable instanceof IOException){ if (throwable instanceof IOException) {
return new IORuntimeException(throwable); return new IORuntimeException(throwable);
} }
if (throwable instanceof RuntimeException) { if (throwable instanceof RuntimeException) {
@ -128,11 +128,22 @@ public class ExceptionUtil {
/** /**
* 将消息包装为运行时异常并抛出 * 将消息包装为运行时异常并抛出
* *
* @param message 异常消息 * @param message 错误消息模板被替换的部分用 {} 表示
* @since 5.5.2 * @param params 参数
*/ */
public static void wrapRuntimeAndThrow(final String message) { public static void wrapRuntimeAndThrow(final String message, final Object... params) {
throw new RuntimeException(message); throw new RuntimeException(StrUtil.format(message, params));
}
/**
* 将消息包装为运行时异常并抛出
*
* @param cause 异常原因
* @param message 错误消息模板被替换的部分用 {} 表示
* @param params 参数
*/
public static void wrapRuntimeAndThrow(final Throwable cause, final String message, final Object... params) {
throw new RuntimeException(StrUtil.format(message, params), cause);
} }
/** /**
@ -179,14 +190,14 @@ public class ExceptionUtil {
* 获取指定层的堆栈信息 * 获取指定层的堆栈信息
* *
* @param fqcn 指定类名为基础 * @param fqcn 指定类名为基础
* @param i 指定类名的类堆栈相对层数 * @param i 指定类名的类堆栈相对层数
* @return 指定层的堆栈信息 * @return 指定层的堆栈信息
* @since 5.6.6 * @since 5.6.6
*/ */
public static StackTraceElement getStackElement(final String fqcn, final int i) { public static StackTraceElement getStackElement(final String fqcn, final int i) {
final StackTraceElement[] stackTraceArray = Thread.currentThread().getStackTrace(); final StackTraceElement[] stackTraceArray = Thread.currentThread().getStackTrace();
final int index = ArrayUtil.matchIndex((ele) -> StrUtil.equals(fqcn, ele.getClassName()), stackTraceArray); final int index = ArrayUtil.matchIndex((ele) -> StrUtil.equals(fqcn, ele.getClassName()), stackTraceArray);
if(index > 0){ if (index > 0) {
return stackTraceArray[index + i]; return stackTraceArray[index + i];
} }
@ -284,7 +295,7 @@ public class ExceptionUtil {
} }
return sb.toString(); return sb.toString();
} else { } else {
if(limit == length){ if (limit == length) {
return exceptionStr; return exceptionStr;
} }
return StrUtil.subPre(exceptionStr, limit); return StrUtil.subPre(exceptionStr, limit);
@ -425,7 +436,6 @@ public class ExceptionUtil {
* 此方法通过调用{@link Throwable#getCause()} 直到没有cause为止如果异常本身没有cause返回异常本身<br> * 此方法通过调用{@link Throwable#getCause()} 直到没有cause为止如果异常本身没有cause返回异常本身<br>
* 传入null返回也为null * 传入null返回也为null
* *
*
* @param throwable 异常对象可能为null * @param throwable 异常对象可能为null
* @return 最尾端异常传入null参数返回也为null * @return 最尾端异常传入null参数返回也为null
*/ */