获取包装异常中真实异常

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

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

重复调用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;
}
相关文章
|
6月前
|
Java C++ Spring
解决NoUniqueBeanDefinitionException异常的方法
了解Spring框架中`NoUniqueBeanDefinitionException`异常的原因和解决方案。此异常发生在容器内有多个相同类型的bean时,Spring无法决定注入哪个bean。解决方法包括:使用`@Primary`注解标记首选bean,利用`@Qualifier`注解配合`@Autowired`、`@Resource`、`@Inject`或`@Value`指定bean名称。选择哪种方法取决于业务需求和具体场景,预防措施是避免创建多个同类型bean或使用`@Primary`注解。
229 0
|
2月前
|
运维 算法 Java
异常和异常调用链
【9月更文挑战第6天】在软件开发中,“异常”指程序运行时发生的错误事件,包括语法、逻辑和运行时错误。异常可通过try-catch捕获、throw抛出或自定义异常类处理。“异常调用链”则记录了异常发生时的方法调用路径,有助于调试、理解程序流程及生成错误报告。开发中正确处理异常可提升程序稳定性,调用链则加速问题定位与解决。
|
4月前
|
文字识别 Java
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
|
5月前
|
Java 测试技术
解决NullReferenceException异常的方法分析
解决NullReferenceException异常的方法分析
|
5月前
|
Java 程序员 索引
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
34 0
|
6月前
|
前端开发 程序员
项目中异常是如何处理的
项目中设定了全局异常处理器,统一处理预期和运行时异常。预期异常由程序员手动抛出,用于异常情况的接口返回;运行时异常为不可控错误,提供统一返回格式便于前端提示和后端排查。全局异常处理器借助@RestControllerAdvice和@ExceptionHandler注解,前者标识处理器,后者按异常类型定制前端响应,如预期异常直接返回,运行时异常则调整响应内容。
85 0
|
C语言 C++
【C++】异常的使用和细节
【C++】异常的使用和细节
67 0
|
Java 程序员 编译器
【Java】全面解析异常(异常的分类、处理、抛出和捕获等)
“程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。”
有关异常的处理、捕获、抛出、自定义
有关异常的处理、捕获、抛出、自定义
104 0