java打印的globa类l_Spring异常集中处理和日志集中打印
使用@ControllerAdvice和@ExceptionHandler处理Controller层的异常:
@ControllerAdvice
public class GlobalExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(GlobalExceptionHandler.class);
/**
* 处理所有不可知的异常
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
@ResponseBody
AppResponse handleException(Exception e){
// 记录日志
LOGGER.error(e.getMessage(), e);
// 统一返回值
AppResponse response = new AppResponse();
response.setFail("服务器错误");
return response;
}
/**
* 处理自定义异常
* @param e
* @return
*/
@ExceptionHandler(CustomException.class)
@ResponseBody
AppResponse handleCustomException(CustomException e){
LOGGER.error(e.getMessage(), e);
AppResponse response = new AppResponse();
response.setFail(e.getMessage());
return response;
}
}
对于需要给前台返回特定错误信息的异常,手动抛出CustomException,并添加错误信息,通过handleCustomException返回,其他异常信息通过handleException处理,返回服务器异常,所有异常均打印日志
java打印的globa类l_Spring异常集中处理和日志集中打印相关推荐
- Java 8 的 Optional 类抛异常
Java 8 的 Optional 类抛异常 本文我们介绍当Optional类为空时如何抛自定义异常. Optional.orElseThrow 简单描述,如果Optional值存在,则isPrese ...
- java基础之Object类和异常
Object类和异常 1. Object类是所有类的父类(超类, 基类,上帝类); 里面有两个常用的方法: 1> public String toString();// 默认输出对象的地址值的字 ...
- muduo网络库学习(九)日志类Logger和LogStream,将日志信息打印到屏幕
每一个成熟的项目都有大大小小的日志系统,在关键的地方打印日志信息,常用来跟踪程序运行,查找错误原因等,可以节省大量的debug时间 muduo的日志信息有5个级别 TRACE,细粒度最高的日志信息,打 ...
- python日志模块为什么打印到界面_如何将外部模块的日志消息打印到主Python模块的终端窗口?...
我正在写一个Python命令行程序.在 有一个主Python脚本文件,用作入口点.当用户运行这个脚本时,它将执行一些外部Python脚本文件.外部Python脚本文件也可以执行其他外部Python脚本 ...
- java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常
异常处理是java语言的重要特性之一,<Three Rules for effective Exception Handling>一文中是这么解释的:它主要帮助我们在debug的过程中解决 ...
- java工具类应该抛异常吗,java学习阶段一 工具类(异常)
java学习阶段一 工具类(异常) 介绍 异常:运行期间出现的错误 背离程序本身意图的表现 基本知识 异常的分类 根类 Throwable Error 程序无法处理的错误 表示运行应用程序中教严重的问 ...
- Java基础巩固(二)异常,多线程,线程池,IO流,Properties集合,IO工具类,字符流,对象流,Stream,Lambda表达式
一.异常,多线程 学习目标 : 异常的概述 异常的分类 异常的处理方式 自定义异常 多线程入门 1 异常的概述 1.1 什么是异常? 异常就是程序出现了不正常情况 , 程序在执行过程中 , 数据导致程 ...
- java输入字符串异常_设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。...
设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为"XYZ",则抛出一个异常信息"This is a XYZ",如果从命令 ...
- Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常
Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常 参考文章: (1)Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并 ...
最新文章
- 微软Windows SharePoint Services 3.0 应用程序模板( Templates)中文版推出了
- PDA 收银系统PDA手持打印扫描枪 销售开单 收银 扫描打印一体机
- 扫地机器人开机充电还是关机充电器_适用于智能扫地机器人的充电方法与流程...
- 经典面试题(46):以下代码将输出的结果是什么?
- 抛砖引玉,终于完成了自己的客户端校验提示Extender
- 计算机专业买r7000,2020年双十一有哪些游戏本值得买-7千到1万游戏本排行
- 2021李宏毅机器学习课程笔记——Recurrent Neural Network
- 拓端tecdat|R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化
- 零基础起步Keras+LSTM+CRF的实践命名实体识别NER
- c语言程序设计必备单词,(完整版)C语言编程必背单词.docx
- asp.net汽车4S店管理系统VS开发sqlserver数据库web结构C#编程
- 前端 html自动生成,前端工程化-自动生成页面
- 云标签,关键字图排版 html5 canvas版
- 北航计算机学院 高小鹏,毕业季 | 以来自学院的深情祝福,定格属于你的最美青春(二)...
- (c#)int类型和枚举类型的相互转换
- 用launch文件在rviz中加载机器人模型
- VMware安装Ubuntu Kylin系统
- python opencv 通过hsv阈值法扣取药盒 并矫正
- 3Com Switch 4250T 系列交换机
- 运维学shell还是python_运维DBA要不要学python
热门文章
- AGC008D K-th K
- CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)
- jqGrid列的统计
- kd tree学习笔记 (最近邻域查询)
- Immutable Collections(3)Immutable List实现原理(中)变化中的不变
- 生成n个从1到M(n = M)之间的不重复的随机数问题(洗扑克牌算法)
- 如何提高网页中图片显示的用户体验(附源码下载)
- 从DataTable导出Excel,并下载,删除Excel进程。
- [译]JavaScript 究竟是如何工作的?(第一部分)
- 案例:隐秘而低调的内存泄露(OOM)