mirror of
https://github.com/continew-org/continew-starter.git
synced 2025-09-08 16:57:09 +08:00
feat(core): ExceptionUtils 新增 exToThrow 方法
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user