• 异常处理


    1、页面跳转形式

    首先我们在Controller层定义一个error的类,并写一个普通的抛出异常方法 输入图片说明

    正常来说页面会显示报错

    输入图片说明

    这时我们需要定义一个异常的全局捕获类MyselfExceptionHandler 输入图片说明

    我们直接以ModelAndView的形式返回即可。设置跳转页面error 输入图片说明

    这样,在发生异常的时候,用户就不会看到奇怪的页面 输入图片说明

    而是由我们自己定义的错误页面(项目团队可以自定义一些好看的内容及客服联系方式等)

    2、ajax形式

    当然除了web形式的错误,还有ajax请求报错,我们也需要做全局异常的捕获。 输入图片说明

    我定义了一个页面,引入了一个ajax请求的自定义js 输入图片说明

    方法会向后台接口做请求 输入图片说明

    而请求的这个方法正好有一个自定义的常规异常。这时我们的全局异常捕获类就会进行捕获,并返回相关的信息 输入图片说明

    页面的js就会根据返回的状态码进行判断,不会导致请求方法一直loading。

    3、统一返回异常的形式

    当然上面两种是针对性的解决单一问题,我们还需要综合性的解决以上的异常问题,同时兼容ajax与web异常。

    那么其实和很多实现方式一样就是做判断,在捕获异常后 ,判断是什么类型的针对性处理 输入图片说明

    这里判断是哪种形式的异常分别处理 输入图片说明

    ajax的请求有固定的写法,就是判断请求头的内容

    之后就可以愉快的处理web或ajax的异常啦。

  • 相关阅读:
    从网络通信角度谈web性能优化
    JavaScript对象的深浅复制
    Ajax原理、优缺点及应用场景
    细谈sass和less中的变量及其作用域
    动态样式语言—LESS
    js中创建对象的几种方式
    Node学习笔记---初识Node
    "一不小心就火了"团队采访
    部门管理系统需求规格说明书
    java利用iTextWorker生成pdf
  • 原文地址:https://www.cnblogs.com/UncleCatMySelf/p/9250979.html
Copyright © 2020-2023  润新知