java的回调函数

前言

希望在java里实现js的函数回调的效果,用于封装统一的异常处理逻辑。看了下函数式编程与lambda表达式,如下。

一、接口示例
@FunctionalInterface
interface Callback {
    public Object call(Object object) throws Exception;
}
二、实例
/**
 * 执行语句 捕捉异常 记录日志 发送邮件 任务重试
 *
 * @param object
 * @param callback
 * @return
 */
public Object exceptionHandler(Object object, String errorDescription, Callback callback) {
    while (true) {
        try {
            return callback.call(object);
        } catch (Exception e) {
            // 异常处理逻辑
        }
    }
}
三、调用
exceptionHandler(null, "errorDescription", (x) -> {
    // 语句块
    return ...;
});

你可能感兴趣的:(java的回调函数)