unwrapThrowable

简介: package org.apache.ibatis.reflection; import java.lang.reflect.InvocationTargetException; import java.

 

package org.apache.ibatis.reflection;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.UndeclaredThrowableException;

/**
 * @author Clinton Begin
 */
public class ExceptionUtil {

  private ExceptionUtil() {
    // Prevent Instantiation
  }

  public static Throwable unwrapThrowable(Throwable wrapped) {
    Throwable unwrapped = wrapped;
    while (true) {
      if (unwrapped instanceof InvocationTargetException) {
        unwrapped = ((InvocationTargetException) unwrapped).getTargetException();
      } else if (unwrapped instanceof UndeclaredThrowableException) {
        unwrapped = ((UndeclaredThrowableException) unwrapped).getUndeclaredThrowable();
      } else {
        return unwrapped;
      }
    }
  }

}

 

相关文章
|
11月前
|
XML JSON 数据格式
@ResponseBody注解
@ResponseBody注解
|
11月前
|
Java Spring
@GetMapping注解
@GetMapping注解
|
SQL 应用服务中间件 nginx
nginx禁止外网访问登录页面,SQL 注入、XSS 攻击配置
nginx禁止外网访问登录页面,SQL 注入、XSS 攻击配置
575 0
|
JavaScript 前端开发 小程序
一吻搞定uniApp及关联uniCloud开发(一)
一吻搞定uniApp及关联uniCloud开发
793 0
一吻搞定uniApp及关联uniCloud开发(一)
|
Java 编译器
注解@Retention的作用
注解@Retention的作用
|
缓存 安全 Java
Java多线程-Disruptor性能用测
Java多线程框架Disruptor
273 1
Java多线程-Disruptor性能用测
@RequestMapping详解
在我们的Java web开发中也有一个同样神奇的法宝,可以为我们节省好多时间和代码,从而实现浏览器与服务器之间的映射,它就是——RequestMapping注解,下面我们一起来了解一下吧。
359 0
@RequestMapping详解
静态代码块 static{}
静态代码块 static{}
185 0
静态代码块 static{}