feat(core): ExceptionUtils 新增 exToThrow 方法

This commit is contained in:
2025-05-21 22:18:57 +08:00
parent 2fdd5b6fd3
commit 4a6b4624c2

View File

@@ -24,6 +24,7 @@ import java.util.concurrent.CancellationException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.function.Consumer;
import java.util.function.Function;
/**
* 异常工具类
@@ -107,6 +108,25 @@ public class ExceptionUtils {
return exToDefault(exSupplier, defaultValue, null);
}
/**
* 如果有异常,抛出自定义异常
*
* @param exSupplier 可能会出现异常的方法执行
* @param exceptionMapper 异常转换函数
* @param <T> 返回值类型
* @param <E> 自定义异常类型
* @return 执行结果
* @throws E 自定义异常
*/
public static <T, E extends Exception> T exToThrow(ExSupplier<T> exSupplier,
Function<Exception, E> exceptionMapper) throws E {
try {
return exSupplier.get();
} catch (Exception e) {
throw exceptionMapper.apply(e);
}
}
/**
* 如果有异常,执行异常处理,返回默认值
*
@@ -140,5 +160,6 @@ public class ExceptionUtils {
* @throws Exception /
*/
T get() throws Exception;
}
}