获取包装异常中真实异常

简介: 获取包装异常中真实异常

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

重复调用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;
}
相关文章
|
8月前
|
Java C++ Spring
解决NoUniqueBeanDefinitionException异常的方法
了解Spring框架中`NoUniqueBeanDefinitionException`异常的原因和解决方案。此异常发生在容器内有多个相同类型的bean时,Spring无法决定注入哪个bean。解决方法包括:使用`@Primary`注解标记首选bean,利用`@Qualifier`注解配合`@Autowired`、`@Resource`、`@Inject`或`@Value`指定bean名称。选择哪种方法取决于业务需求和具体场景,预防措施是避免创建多个同类型bean或使用`@Primary`注解。
255 0
|
4月前
|
运维 算法 Java
异常和异常调用链
【9月更文挑战第6天】在软件开发中,“异常”指程序运行时发生的错误事件,包括语法、逻辑和运行时错误。异常可通过try-catch捕获、throw抛出或自定义异常类处理。“异常调用链”则记录了异常发生时的方法调用路径,有助于调试、理解程序流程及生成错误报告。开发中正确处理异常可提升程序稳定性,调用链则加速问题定位与解决。
|
6月前
|
文字识别 Java
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
|
7月前
|
Java 测试技术
解决NullReferenceException异常的方法分析
解决NullReferenceException异常的方法分析
|
7月前
|
Java 程序员 索引
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
40 0
|
前端开发 rax Linux
【CSAPP】异常控制流 | 异常表 | 异常类别 | 同步异常 | 异步异常
【CSAPP】异常控制流 | 异常表 | 异常类别 | 同步异常 | 异步异常
150 0
|
Java 程序员 编译器
【Java】全面解析异常(异常的分类、处理、抛出和捕获等)
“程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。”
【异常机制】异常抛出变量的生命周期
【异常机制】异常抛出变量的生命周期
79 0
【异常机制】异常抛出变量的生命周期
|
索引 Python
Python基础 常见的异常类型 异常的捕获 异常的处理机制
python中常见的异常类型 1、ZeroDivisionError 除(或取模)零(所有数据类型) 2、IndexError #序列中没有此索引 3、KeyError #映射中没有这个键 4、NameError #未声明/初始化对象(没有属性) 5、SyntaxError #Python 语法错误 6、ValueError #传入无效的参数
Python基础 常见的异常类型 异常的捕获 异常的处理机制