1、创建自定义异常

public class TokenException extends RuntimeException {

private static final long serialVersionUID = 1L;

private Integer errCode;

private String message;

public TokenException(Integer errCode){

this.errCode = errCode;

this.message = ExceptionEnum.getMessage(errCode);

}

public TokenException(String message){

this.errCode = ExceptionEnum.TOKEN.getCode();

this.message = message;

}

public TokenException(int errCode, String message) {

this.errCode = errCode;

this.message = message;

}

public TokenException(ExceptionEnum exceptionEnum) {

this.errCode = exceptionEnum.getCode();

this.message = exceptionEnum.getMessage();

}

public TokenException(ExceptionEnum exceptionEnum, String message) {

this.errCode = exceptionEnum.getCode();

this.message = message;

}

public int getCode() {

return errCode;

}

public void setCode(int errCode) {

this.errCode = errCode;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

}

2、在过滤器中注入HandlerExceptionResolver

@Autowired

@Qualifier("handlerExceptionResolver")

private HandlerExceptionResolver resolver;

3.使用

if(StringUtils.isEmpty(redisToken)){

resolver.resolveException(request, response, null, new TokenException(ExceptionEnum.TOKEN));

return;

}

4、全局异常捕获

@Slf4j

@ResponseBody

@ControllerAdvice

public class GlobalExceptionHandler {

@ExceptionHandler({TokenException.class})

public Map TokenException(TokenException e) {

log.error("捕获业务异常:", e);

Map map = new HashMap(2);

map.put("code",e.getCode());

map.put("msg",e.getMessage());

return map;

}

}

本文地址:https://blog.csdn.net/qq_38377774/article/details/107696206

希望与广大网友互动??

点此进行留言吧!

java 异常 过滤器_在过滤器Filter中抛出一个全局异常可以捕获的异常相关推荐

  1. java异常在哪一层捕获_当在一个方法的代码中抛出一个检测异常时,该异常或被方法中的 ( )结构 捕获,或者在方法的 ( ) 中声明_学小易找答案...

    [填空题]当异常已经被定义时,必须通过( ) 语句来处理它. [填空题]Catch 子句包含( )的程序段 [单选题]下列java语言的常用异常类中,属于检测异常的是() [单选题]自定义异常类时,可 ...

  2. getch计算机错误,为什么getch()在C中抛出一个错误

    我正在Windows XP中的Code :: Blocks中运行一个C程序. 我得到一个错误为什么getch()在C中抛出一个错误 "drawing operation is attempe ...

  3. 如何Mysql触发器中抛出一个异常

    当想Mysql出发其中插入或者更新一条数据的时候,我希望使用触发器进行一些检查工作.虽然这些工作可以使用PHP来完成,但考虑到公司做PHP的小伙子是个新手,为了简化PHP端的业务,使用触发器来实现可靠 ...

  4. java主动抛出400异常_400个线程同时查询数据,抛出一个异常

    十二月 03, 2017 4:28:33下午 org.postgresql.Driver connect 严重: Connection error: org.postgresql.util.PSQLE ...

  5. 第8集析构函数中抛出的异常

    前两篇文章讨论了对象在构造过程中(构造函数)和运行过程中(成员函数)出现异常时的处理情况,本文将讨论最后一种情况,当异常发生在对象的析构销毁过程中时,又会有什么不同呢?主人公阿愚在此可以非常有把握地告 ...

  6. 第7集 构造函数中抛出的异常

    上一篇文章简单讨论了一下对象的成员函数抛出异常时的处理情况.本文中将继续讨论当在构造函数中抛出异常时,程序的执行情况又如何?这有点复杂呀!而且主人公阿愚还觉得这蛮有点意思! 构造函数中抛出的异常 1. ...

  7. C语言中regex_error,为什么这个C 11 std :: regex示例抛出一个regex_error异常?

    参见英文答案 > Is gcc 4.8 or earlier buggy about regular expressions?                                   ...

  8. 程序中抛出空指针异常_从Java应用程序中消除空指针异常

    程序中抛出空指针异常 这篇文章简要介绍了Java 8的最有用但又"毫不夸张"的功能. 程序员花费了无尽的时间来纠正最常见但最危险的错误之一,即Null指针异常. 空指针异常会导致我 ...

  9. java中在方法体内抛出异常_Java异常处理中___用于方法体内,抛出一个异常对象。...

    Java异常处理中___用于方法体内,抛出一个异常对象. 答: throw; 智慧职教: 运输高致病性动物病原微生物菌(毒)种或者样本的,与内包装要求错误的是 答:E.主容器表面标注"高致病 ...

最新文章

  1. AsyncTask工作机制简介
  2. 一天学完spark的Scala基础语法教程二、运算符与分支语句(idea版本)
  3. linux挂载nfs显示nobady,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  4. 客户端与服务器之间的文件传输,客户端与服务器的文件传输
  5. Spring Boot读取peoperties配置及@Value和@ConfigurationProperties区别和联系
  6. 028-进阶(网络编程)
  7. Arcgis javascript那些事儿(十六)——GP服务的发布与使用
  8. R语言图表排版之一页多图
  9. python3编码得到中文_Python3的unicode编码转换成中文的问题及解决方案
  10. 使用QUARKUS开发JSON REST 服务
  11. button3 电脑上mouse,自定义鼠标按键(X-Mouse Button Control)
  12. 混音教程入门|新手学混音必须注意这9点!| MZD Studios
  13. CKeditor 3.1 精简版带SyntaxHighlighter插件
  14. python3 爬虫 爬取华为应用市场 APP应用评论(一)爬取全部评论——学霸君
  15. 【js】不间断空格 特殊的空格-ASCII码值160
  16. 什么是Cloud Computing?
  17. 高性价比40W双C口氮化镓快充方案,提供Demo板测试!
  18. 隐马尔科夫模型一(概念理解)
  19. 09 嵌入式C语言如何实现多级队列缓存(Queue、FIFO)
  20. Microsoft Powershell 介绍

热门文章

  1. java限制发送短信次数_使用java发送短信验证码码,出现流量限制怎么办?急急急...
  2. 原生php登录注册,原生php登陆注册
  3. 值重新赋值_JavaScript-赋值运算符
  4. python123查找指定字符输入m_大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编....
  5. 第二十二篇:Spring简单定时任务
  6. 动手动脑 - 继承与多态
  7. 架构之美—软件架构6大步骤(开篇)
  8. SQL未能排它地锁定数据库以执行该操作解决
  9. OGRE分析之设计模式
  10. mysql 代理 a_Keepalived+Mysql+Haproxy