zoukankan      html  css  js  c++  java
  • spring boot 处理异常

    1、通过建目录及html文件来显示不同的错误提示。

     测试以后发现,不存在会访问error/404.html,出错了都会走error.html。

    2、通过代码返回json来处理相应的错误

    1)设置

    
    

    #出现错误时, 直接抛出异常

    spring.mvc.throw-exception-if-no-handler-found=true

    #表示不开启默认的资源处理,比如404

    spring.resources.add-mappings=false

    在配制文件里加上上面的一段话,就可以不走html文件,而去走class。

    2)处理

    @RestControllerAdvice
    public class HandExceptionRes {
        /**
          实际处理,可以自已手工修改,以适合自已的业务。
       */
        @ExceptionHandler(value = Exception.class)  ==>这里面的value = Exception.class 在这个类中只可以存在同样的值唯一一次,不然运行会报错。
        @ResponseBody
        public Result defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception {
            Result result = new Result(); -->自定义的类
            result.setMessage(ConstsInfo.CustomException); //设置了一个值,可以自已写,比如"123"
            result.setResultCode("-1");
            result.setTotal(0);
            ResultInfo resultInfo = new ResultInfo();

    if (e instanceof org.springframework.web.servlet.NoHandlerFoundException) { resultInfo.setMsg("接口不存在"); } else { resultInfo.setMsg(e.getLocalizedMessage()); } return result; } }

    这样不管出什么问题,都会走这个方法,也不用自已再自定义类extends  RuntimeException

    当然,你还有更加明细的需求,那么可以自定义,然后throw new 自定义类();

    道法自然
  • 相关阅读:
    JS高程研读记录一【事件流】
    事件冒泡的应用——jq on的实现
    模式学习小结[工厂模式|构造函数|原型模式]
    几个CSS-content的小例子
    构造函数new执行与直接执行的区别
    gulp布局构建小结
    理解上下文与作用域
    定义变量的注意问题
    JUC的世界III
    JUC的世界II
  • 原文地址:https://www.cnblogs.com/jiduoduo/p/15161248.html
Copyright © 2011-2022 走看看