zoukankan      html  css  js  c++  java
  • 关于异常的工具类

    public class Exceptions {

    /**
    * CheckedException转换为UncheckedException.
    */
    public static RuntimeException unchecked(Exception e) {
    if (e instanceof RuntimeException) {
    return (RuntimeException) e;
    } else {
    return new RuntimeException(e);
    }
    }

    /**
    * ErrorStack转化为String.
    */
    public static String getStackTraceAsString(Throwable e) {
    if (e == null){
    return "";
    }
    StringWriter stringWriter = new StringWriter();
    e.printStackTrace(new PrintWriter(stringWriter));
    return stringWriter.toString();
    }

    /**
    * 判断异常是否由某些底层的异常引起.
    */
    public static boolean isCausedBy(Exception ex, Class<? extends Exception>... causeExceptionClasses) {
    Throwable cause = ex.getCause();
    while (cause != null) {
    for (Class<? extends Exception> causeClass : causeExceptionClasses) {
    if (causeClass.isInstance(cause)) {
    return true;
    }
    }
    cause = cause.getCause();
    }
    return false;
    }

    /**
    * request中获取异常类
    * @param request
    * @return
    */
    public static Throwable getThrowable(HttpServletRequest request){
    Throwable ex = null;
    if (request.getAttribute("exception") != null) {
    ex = (Throwable) request.getAttribute("exception");
    } else if (request.getAttribute("javax.servlet.error.exception") != null) {
    ex = (Throwable) request.getAttribute("javax.servlet.error.exception");
    }
    return ex;
    }

    }
  • 相关阅读:
    codepen
    css3 animate
    dowebok 网站
    java第四次实验
    java第九周学习总结
    java第三次实验
    java第八周学习总结
    java第二次试验
    java第七周学习总结
    java第六周学习总结
  • 原文地址:https://www.cnblogs.com/luyuefei/p/13386472.html
Copyright © 2011-2022 走看看