当前位置: 首页 > news >正文

springmvc 统一处理exception

为什么80%的码农都做不了架构师?>>>   hot3.png

用 @ExceptionHandler注解实现异常统一处理:

public class BaseController {

    private static final Logger logger = LoggerFactory.getLogger(BaseController.class);

    @ExceptionHandler(Exception.class)
    @ResponseBody

    protected ResponseVo handleException(Exception e) {
        logger.error(e.getMessage(), e);
        if (e instanceof HttpMessageNotReadableException ||
                e instanceof NumberFormatException ||
                e instanceof InvalidPropertyException){
            return new ResponseVo(ResponseStatus.DATA_PARSE_ERROR.VALUE, e.getLocalizedMessage());
        } else if (e instanceof NoticeException) {
            return new ResponseVo(ResponseStatus.FORBIDDEN.VALUE, e.getMessage());
        }
        return new ResponseVo(ResponseStatus.ERROR.VALUE,e.getLocalizedMessage());
    }

}

如果程序异常会被捕获,接下来响应的数据就可以自己定义了


转载于:https://my.oschina.net/u/1778309/blog/411733

相关文章:

  • 2015第19周四jquery版本
  • Android 5中不同效果的Toast
  • 短信猫 TIdTCPServer TIdTCPClient
  • 新人初来报道
  • SQL Server 自定义函数(1)把某一列多行的值拼接成一个字符串
  • jdbctemplate 获取数据表结构的方法注意事项
  • 小黑小波比.sublime text的使用
  • TokuDB 引擎安装测试
  • 【转帖】Moodle平台的5个新玩法
  • 把MATLAB数据转换成1QN格式,并保存到文件供ISE使用
  • 广播,单播,组播
  • Linux内核中常见内存分配函数【转】
  • 网络安装Centos 6.6 基本NFS
  • 关于OkHttp–支持SPDY协议的高效HTTP库 com.squareup.okhttp
  • tomcat发布web service教程
  • Docker 笔记(2):Dockerfile
  • LeetCode18.四数之和 JavaScript
  • maya建模与骨骼动画快速实现人工鱼
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 多线程事务回滚
  • 解决iview多表头动态更改列元素发生的错误
  • 两列自适应布局方案整理
  • 前端代码风格自动化系列(二)之Commitlint
  • 设计模式(12)迭代器模式(讲解+应用)
  • 使用docker-compose进行多节点部署
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 译自由幺半群
  • 应用生命周期终极 DevOps 工具包
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用Python写一份独特的元宵节祝福
  • postgresql行列转换函数
  • 如何用纯 CSS 创作一个货车 loader
  • ​2021半年盘点,不想你错过的重磅新书
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #微信小程序(布局、渲染层基础知识)
  • #在 README.md 中生成项目目录结构
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (MATLAB)第五章-矩阵运算
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (算法)Game
  • (转) Face-Resources
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • ***测试-HTTP方法
  • ***利用Ms05002溢出找“肉鸡
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args