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

第十八节:学习统一异常处理(自学Spring boot 3.x的第五天)

这节记录下如何通过AOP方式统一处理异常拦截。

第一步:

新建一个exception包,创建一个ExcetionHandler.java(名字随意取)

package cn.wcyf.wcai.exception;import cn.wcyf.wcai.common.Result;
import org.springframework.web.bind.annotation.RestControllerAdvice;@RestControllerAdvice
public class ExceptionHandler {// 处理运行时异常@org.springframework.web.bind.annotation.ExceptionHandler(BussinessException.class)public Result handlerException(BussinessException e){//处理逻辑return Result.fail(e.getMessage());}@org.springframework.web.bind.annotation.ExceptionHandler(ArithmeticException.class)public Result handlerArithmeticException(ArithmeticException e){return Result.fail(e.getMessage());}
}

要处理哪个异常,就在注解后面加上该拦截类的class。

第二步:测试

写一个错误,使得访问时报错。

    @GetMapping("/{id}")public Result<Student> getById(@PathVariable Integer id){int o = 1/0 ;if(id==10||id==11){return Result.success(studentService.getById(id));
//            return ReturnResult.createSuccessfulResp(ResultEnum.SUCCESS.getDesc(),studentService.getById(id));}else {return Result.fail(ResultEnum.ILLEGAL_ARGUMENT);}}}

相关文章:

第十八节:学习统一异常处理(自学Spring boot 3.x的第五天)

这节记录下如何通过AOP方式统一处理异常拦截。 第一步&#xff1a; 新建一个exception包&#xff0c;创建一个ExcetionHandler.java&#xff08;名字随意取&#xff09; package cn.wcyf.wcai.exception;import cn.wcyf.wcai.common.Result; import org.springframework.web…...

flink中slotSharingGroup() 的详解

在 Apache Flink 中&#xff0c;slotSharingGroup() 是一个用于控制算子&#xff08;operator&#xff09;之间资源共享的机制。它允许多个算子共享相同的 slot&#xff08;即资源容器&#xff09;。Slot 是 Flink 中的资源单位&#xff0c;slot 共享可以提高资源利用率&#x…...

ASPF 技术介绍

...

77-java 装饰器模式和适配器模式区别

‌Java中的装饰器模式和适配器模式虽然都涉及到对象的组合和包装&#xff0c;但它们的应用场景和目的有所不同。‌ ‌装饰器模式的目的是在不修改原始对象的基础上&#xff0c;动态地添加功能或行为。‌它允许用户通过创建一个包含原始对象的包装类&#xff08;装饰器&#xff…...

5. Fabric 设置画布大小

1. 设置宽度 canvas.setWidth(width)2. 设置高度 canvas.setHeight(height)3. 设置大小 canvas.setDimensions({width,height })4. 画布的缩放 canvas.on(mouse:wheel, (opt) > {const delta opt.e.deltaY // 滚轮&#xff0c;向上滚一下是 -100&#xff0c;向下滚一下…...

240912-通过Ollama实现网站知识总结

A. 最终效果 B. 准备工作 报错: USER_AGENT environment variable not set, consider setting it to identify your requests.-CSDN博客 C. 完整代码 # https://coreyclip.github.io/Ollama-Web-Summaries/import os os.environ[USER_AGENT] Mozilla/5.0 (Windows NT 10.…...

Debian 包管理工具apt使用

apt基本用法 apt&#xff08;Advanced Package Tool&#xff09;是Debian及其衍生发行版&#xff08;如Ubuntu、Linux Mint等&#xff09;中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外&…...

如何模拟一个小程序项目打包的流程

一、Uni-app 执行 yarn run dev:mp-weixin后会发生什么 &#xff08;一&#xff09;准备工作 克隆项目&#xff1a;创建以 typescript 开发的工程&#xff08;如命令行创建失败&#xff0c;请直接访问 https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.z…...

设计模式七大原则详解

设计模式七大原则详解 设计模式中的“七大原则”是面向对象编程&#xff08;OOP&#xff09;中的一组指导原则&#xff0c;这些原则帮助开发者编写灵活、可维护、可扩展的代码。这些原则并不直接等同于设计模式&#xff0c;但它们是设计模式的基础。下面是这七大原则&#xff…...

Navicat On-Prem Server 2.0 | MySQL与MariaDB基础管理功能正式上云

近日&#xff0c;Navicat 发布了 Navicat On-Prem Server 2.0 的重大版本更新。这标志着这款自2021年首发的私有云团队协作解决方案迈入了一个崭新的阶段。此次2.0版本的飞跃性升级&#xff0c;核心聚焦于MySQL与MariaDB基础管理功能的全面革新与强化&#xff0c;赋予了用户的操…...

汽车车门的美观与功能:矫平工艺的精细修复

汽车车门的美观与功能&#xff1a;矫平工艺的精细修复 在汽车制造的精细工艺中&#xff0c;车门不仅是车辆外观的重要组成部分&#xff0c;更是功能性的关键载体。车门的平整度直接影响到车辆的密封性、噪音控制以及整体的美观度。面对生产过程中可能出现的车门变形问题&#…...

【Python】05.Python 中的列表与元组

一、列表与元组的概念 列表是一种在代码中批量表示/保存数据的方式 元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整 二、列表的创建 创建列表主要有两种方式. [ ] 表示一个空的列表。如果需要往…...

【Go】十五、分布式系统、Consul服务注册发现、Nacos配置中心搭建

分布式 传统开发方式的痛点&#xff1a; 我们的服务分为很多种&#xff1a;用户服务、商品服务、订单服务等&#xff0c;若我们一个成熟的体系内&#xff0c;新添加一个服务&#xff0c;会变得十分的繁琐与困难 当我们的负载较大时&#xff0c;如果选择添加机器的方式来减轻…...

[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列

目录 1.网络 1.0 令牌环网&#xff08;了解&#xff09; 1.1 IP 地址 1.3 网络通信的基本脉络 IPv4地址解释 2.Socket 编程预备 2.1 端口号 2.2 传输层协议 2.3 网络字节序列 库函数定义 函数说明 1.网络 1.0 令牌环网&#xff08;了解&#xff09; 相同令牌时&am…...

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决

文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时&#xff0c;默认分辨率是25601440&#xff0c;字体较小&#xff0c;如果切换成19201080&#xff0c;字体又变大模糊。 解决方法 使用HiDP I&#xff08;一种显示技术&#xff0c;使用多个物理像素显示1个像…...

Python-pptx:如何在幻灯片中轻松插入与填充表格

哈喽,大家好,我是木头左! 安装和设置Python-PPTX 确保你的系统中已经安装了Python。然后,使用pip安装python-pptx库: pip install python-pptx安装完成后,你就可以开始编写脚本来操作PowerPoint文件了。 创建表格的基础步骤 使用python-pptx创建表格涉及几个关键步骤…...

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

ERROR 2003 (HY000): Cant connect to MySQL server on localhost:3306 (10061) mysql-8.0.30-winx64 有时候还是没启动起来的原因&#xff0c;不知道为什么&#xff0c;手动点点 mysql-8.0.30-winx64_mysql8.0.30-CSDN博客...

MySQL优化策略(大数据量)

一、 前提&#xff1a; 1.数据规模 : 明确数据量级是上亿级&#xff0c;这需要特殊的处理&#xff0c;比如分区、索引等策略。 2.数据增长率 : 了解数据的增加速度&#xff0c;有助于预估未来存储和性能需求&#xff0c;从而提前规划扩展策略。 3.访问模式 : 分析是读多写少…...

在Excel里制作简单游戏界面

生成随机激活码 找工具箱 插入按钮 建宏 方法一&#xff1a;新建按钮的时候创建宏 方法二&#xff1a;右键->指定宏 VBA VBA代码界面 调整字体 VBA代码 Public str As String 存储激活码显示的字符 Public st As String 中间变量&#xff0c;用来替代随机数 Public ot…...

火语言RPA流程组件介绍--鼠标拖拽元素

&#x1f6a9;【组件功能】&#xff1a;在开始位置上按下鼠标&#xff0c;拖动到结束坐标或指定元素上放下鼠标&#xff0c;实现目标元素的拖拽 配置预览 配置说明 丨拖动元素 支持T或# 默认FLOW输入项 开始拖动的元素,并从当前元素开始按下鼠标 丨拖动到 目标元素/目标位…...

手机店还会存在吗

这两年买手机&#xff0c;有个很常见的小场景&#xff1a;人先进店&#xff0c;把样机拿起来拍几张照片&#xff0c;摸一下边框&#xff0c;试试重量&#xff0c;再问店员有没有现货。问完价格以后&#xff0c;很多人会低头打开电商平台。 门店最尴尬的地方就在这里。它承担了体…...

3步掌握Navicat无限试用重置:Mac用户的完整专业指南

3步掌握Navicat无限试用重置&#xff1a;Mac用户的完整专业指南 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为Navica…...

Rust内存安全:所有权、借用与生命周期深度解析

Rust内存安全&#xff1a;所有权、借用与生命周期深度解析 引言 在Rust开发中&#xff0c;内存安全是其最核心的特性。作为一名从Python转向Rust的后端开发者&#xff0c;我深刻体会到Rust在内存安全方面的革命性设计。Rust通过所有权系统、借用机制和生命周期注解&#xff0…...

FPGA超声波测距项目优化:从50MHz到17kHz时钟分频,聊聊资源与精度的权衡

FPGA超声波测距的时钟优化艺术&#xff1a;从50MHz到17kHz的工程哲学 在资源受限的嵌入式系统中&#xff0c;每一个逻辑单元和存储位都显得弥足珍贵。当我们在Cyclone IV这类中低端FPGA上实现超声波测距功能时&#xff0c;时钟管理策略往往成为决定项目成败的关键因素之一。本文…...

Adafruit Fritzing元件库安装与使用指南:提升硬件设计效率

1. 项目概述&#xff1a;为什么你需要Adafruit Fritzing元件库&#xff1f;如果你玩过Arduino或者树莓派&#xff0c;肯定对Adafruit这家公司不陌生。他们出品的各种传感器、显示屏和扩展板&#xff0c;几乎成了开源硬件项目的“标准件”。但每次在Fritzing里画电路图&#xff…...

告别阿里云物联网平台:用免费公共MQTT服务器玩转ESP32远程监控

告别商业云平台&#xff1a;用免费公共MQTT服务器实现ESP32远程监控 在物联网项目开发中&#xff0c;远程数据传输是核心需求之一。许多开发者习惯性选择阿里云、腾讯云等商业物联网平台&#xff0c;却常常被复杂的配置流程、高昂的服务费用所困扰。实际上&#xff0c;对于个人…...

别再用时间机器了!用macOS恢复模式重装系统,保姆级图文教程(含抹盘避坑指南)

别再用时间机器了&#xff01;用macOS恢复模式重装系统&#xff0c;保姆级图文教程&#xff08;含抹盘避坑指南&#xff09; 当你发现Mac运行速度明显变慢&#xff0c;或者准备转手出售设备时&#xff0c;彻底重装系统往往是最有效的解决方案。许多用户对macOS恢复模式存在本能…...

Creo二次开发避坑:用ProAsmcomppathInit搞定装配体遍历,别再卡在ProFeature转ProAsmcomppath了

Creo二次开发实战&#xff1a;高效构建装配体遍历路径的深度解析 在Creo二次开发领域&#xff0c;装配体遍历是许多高级功能的基础操作&#xff0c;但开发者常常会在ProFeature到ProAsmcomppath的转换过程中遭遇瓶颈。本文将从底层数据结构入手&#xff0c;揭示一种被多数文档忽…...

Arduino | 从串口收发到双向对话:实战指令解析与数据交换

1. 串口通讯&#xff1a;Arduino与世界的对话桥梁 第一次接触Arduino时&#xff0c;很多人都会从经典的Blink示例开始——让板载LED灯规律闪烁。但当你想要动态调整LED亮度时&#xff0c;就会发现需要一种与Arduino"对话"的方式。这就是串口通讯的用武之地。想象一下…...

Perplexity新闻资讯搜索终极对比:VS Google News、Bing News、Feedly——基于3000+查询样本的准确率/时效性/溯源完整性三维压测报告

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Perplexity新闻资讯搜索终极对比&#xff1a;VS Google News、Bing News、Feedly——基于3000查询样本的准确率/时效性/溯源完整性三维压测报告 在为期12周的基准测试中&#xff0c;我们构建了覆盖科技、金融、…...