SpringBoot之SpringBoot整合全局捕获异常
SpringBoot之SpringBoot整合全局捕获异常
概念:
为什么需要添加全局捕获异常呢?因为系统在运行时很多时候会因为不确定的因素会出现异常,会将错误直接显示到页面上,当然这对于开发人员看来是很好的,但是对于用户来说,你给我报一大堆错误?你不想干了吧,其实现在我们公司也是这样干的,我居然不知道,所以学无止境,加油吧,不过这个方案可以在下次开会的时候提一下【让我看看】
编写代码:
在aspect包下面创建RuntimeExceptionHandler.java
package com.springboot.demo.aspect; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; /** * @author ZYGisComputer */ @ControllerAdvice public class RuntimeExceptionHandler { /** * 拦截运行异常出现的错误 * * @return */ @ExceptionHandler(RuntimeException.class) public String exceptionHandler() { return "error"; } }
编写等待报错的接口,写一个最简单的除以0的错误吧
@GetMapping("byZero") public Integer byZero(Integer i) { return 5 / i; }
在templates下写了一个error.html的页面,模板引擎采用的是thymeleaf,不知道则么用的看看我写的《SpringBoot之SpringBoot整合Thymeleaf模板引擎》
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Error</title> </head> <body> 系统出现错误,请联系研发人员,锤他! </body> </html>
启动项目测试:
成功拦截到错误,哈哈,以后就不用一直弹500了,他说也可以使用提示信息,但是我感觉页面应该会比提示信息好一些,对于用户更加直观一些
作者:彼岸舞
时间:2021\01\26
内容关于:SpringBoot
本文来源于网络,只做技术分享,一概不负任何责任
分类:
SpringBoot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」