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

重复调用getCause即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();
}
}

使用

1
2
3
4
5
6
try {
// ...
} catch (LambdaInvokeException e) {
Throwable throwable = e.getRealException();
throw throwabsle;
}