zl程序教程

您现在的位置是:首页 >  后端

当前栏目

获取包装异常中真实异常

异常 获取 真实 包装
2023-06-13 09:14:22 时间

没有弄清对方的底细,绝不能掏出你的心来——巴尔扎克

重复调用getCause即可

package io.github.vampireachao.stream.core.lambda;

/**
 * LambdaInvokeException
 *
 * @author VampireAchao ZVerify
 * @since 2022/9/4
 */
public class LambdaInvokeException extends RuntimeException {

    /**
     * <p>Constructor for LambdaInvokeException.</p>
     *
     * @param cause a {@link java.lang.Throwable} object
     */
    public LambdaInvokeException(Throwable cause) {
        super(cause);
    }

    /**
     * getRealException
     *
     * @return realException
     */
    public Throwable getRealException() {
        return getCause().getCause();
    }
}

使用

try {
	// ...
} catch (LambdaInvokeException e) {
	Throwable throwable = e.getRealException();
	throw throwabsle;
}