JAVA springboot 添加全局异常的处理
2023-06-13 09:15:56 时间
目录
前言
最近搭建java项目需要进行全局异常的捕获,用于在没有进行异常处理的时候,进行异常报警的处理。
技术方案
使用shiro框架的全局异常处理,前置请求处理adviceRequest;
具体代码
/** *
* 全局异常处理器
*
* @author like.ma
*/
@RestControllerAdvice
public class GlobalExceptionHandler
{
/**
* 请求方式不支持
*/
@ExceptionHandler({ HttpRequestMethodNotSupportedException.class })
public AjaxResult handleException(HttpRequestMethodNotSupportedException e)
{
System.out.println("不支持' " + e.getMethod() + "'请求");
LogUtil.WriteErrorLog(null,"不支持' " + e.getMethod() + "'请求");
return AjaxResult.error("不支持' " + e.getMethod() + "'请求");
}
/**
* 拦截未知的运行时异常
*/
@ExceptionHandler(RuntimeException.class)
public AjaxResult notFount(RuntimeException e)
{
System.out.println("运行时异常:" + e);
LogUtil.WriteErrorLog(e,"运行时异常:" + e.getMessage());
return AjaxResult.error("运行时异常:" + e.getMessage());
}
/**
* 系统异常
*/
@ExceptionHandler(Exception.class)
public AjaxResult handleException(Exception e)
{
System.out.println("服务器错误,请联系管理员");
LogUtil.WriteErrorLog(e,"服务器错误,请联系管理员");
return AjaxResult.error("服务器错误,请联系管理员");
}
/**
* 自定义验证异常
*/
@ExceptionHandler(BindException.class)
public AjaxResult validatedBindException(BindException e)
{
String message = e.getAllErrors().get(0).getDefaultMessage();
return AjaxResult.error(message);
}
}
使用异常代码
@ApiOperation("hello 健康检查")
@GetMapping("/hello")
public String getHello(){
String a = null;
System.out.println(a.length());
return "1";
}
运行结果
编辑
相关文章
- 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)
- java list去重_JAVA基础-List去重的6种方式[通俗易懂]
- java简单的除法运算_Java除法运算的陷阱[通俗易懂]
- 如何用eclipse创建一个java工程并运行[通俗易懂]
- java中static关键字的作用_Java:Java中static关键字作用
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- JAVA中StringBuilder学习
- java jersey使用总结_jersey Java Jersey配置「建议收藏」
- java验证手机号正则表达式_Java使用正则表达式验证手机号和电话号码的方法「建议收藏」
- java 调用 dll动态库
- 那些年,Kotlin 都截胡了哪些 Java 新特性
- Java保留小数位的4种方法详解编程语言
- java之反射基础知识介绍详解编程语言
- Java通过wait()和notifyAll()方法实现线程间的通信详解编程语言
- MySQL封装之Java实现(mysql封装java)
- Linux下配置Java环境变量的简易指南(linux配置java环境变量)
- 客户端建立Redis集群:Java客户端指南(redis集群java)
- 时间操作Java操作Redis过期时间配置(redisjava过期)
- 处理Java程序中Redis数据过期策略实现(redisjava过期)
- 使用 java 解压 linux 压缩文件的完整流程(java linux解压)
- Linux下Java命令的使用方法简介(linux下java命令)
- 异常Java程序捕获Oracle异常从失败中学习(java捕获oracle)
- 使用Java实现Redis锁定的实现(redis锁定 java)
- 利用Redis锁实现Java程序并发控制(redis锁java实现)