后端——全局异常处理

一、老办法try-catch

当我们执行一些错误操作导致程序报错时,程序会捕捉到异常报错,这个异常会存在一个Exception对象里

那我们在spring boot工程开发时,当我们执行一个sql查询时报错了,那就会从最底层的Mapper层捕捉到Exception异常,然后一路往Service、Controller传出去

那么学过java的应该知道,怎么才能捕捉到这个Exception异常并显示?就得用【try-catch】

那不是说你在mapper层写了一个【try-catch】、或者只在Controller写了【try-catch】就能返回出去Excrption异常对象的,肯定全都要写【try-catch】才能一路传上去,这太麻烦了

二、新办法:全局捕获异常

那我们可以设置一个【全局异常处理器】,来检测到所有异常,然后根据指定的要显示的异常类型来全局显示异常

写法很简单:

用法:

就是多加一个【exception】包,专门放捕获异常的类,然后创建一个捕获异常的类

代码:

package com.czm.tliaswebmanagement.exception;import com.czm.tliaswebmanagement.pojo.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;/*** 全局异常处理器*/
@RestControllerAdvice //标记这是一个全局异常捕获类
public class GlobalExceptionHandler {//指定不获的是什么异常类型,Exception.class就是全局异常类型@ExceptionHandler(Exception.class)public Result ex(Exception ex){ex.printStackTrace();return Result.error("操作失败,请联系管理员");}
}

因为比较简单,我就不详细解释了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android应用程序调试Logcat的使用

Android的程序调试主要使用Logcat进行,本节主要介绍Logcat的使用。 开启调试模式 使用Android Studio进行程序调试,首先需要连接虚拟Android设备或真实Android设备,设备上需要启用调试功能。 虚拟Android设备默认情况下会启用调试功能。对…

C++ 入门03:函数与作用域

往期回顾: C 入门01:初识 C-CSDN博客C 入门02:控制结构和循环-CSDN博客 一、前言 在前面的文章学习中,我们了解了C语言的基础,包括如何定义变量来存储数据,以及如何利用输入输出流实现程序与用户之间的无缝…

华为机考真题 -- 找朋友

题目描述: 在学校中,N 个小朋友站成一队, 第 i 个小朋友的身高为 height[i],第 i 个小朋友可以看到的第一个比自己身高更高的小朋友 j,那么 j 是 i 的好朋友(要求 j >i)。请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置…

微软清华提出全新预训练范式,指令预训练让8B模型实力暴涨!实力碾压70B模型

现在的大模型训练通常会包括两个阶段: 一是无监督的预训练,即通过因果语言建模预测下一个token生成的概率。该方法无需标注数据,这意味着可以利用大规模的数据学习到语言的通用特征和模式。 二是指令微调,即通过自然语言指令构建…

Python面试题:请解释什么是鸭子类型(duck typing)?

鸭子类型(Duck Typing)是一种动态类型语言中的概念,它基于对象的行为(方法和属性)而不是其实际类型进行判断。这个概念源自詹姆斯惠特科姆赖利的谚语: “如果它走起来像鸭子,叫起来像鸭子&#…

通过高德地图 JS API实现单击鼠标进行标注

效果图: 核心代码: <template><a-modal title="选择地图所在位置" :width="width" :visible="visible" @ok="handleOk" @cancel="handleCancel" cancelText="关闭"><div class="location-…

场外期权有交割日吗?场外期权应该怎么交割?

今天带你了解场外期权有交割日吗&#xff1f;场外期权应该怎么交割&#xff1f;场外个股期权是一种非标准化的金融衍生品&#xff0c;它允许投资者在未来某一特定日期以特定价格买入或卖出某一特定股票。 交割日就是买卖双方进行交割的日期,期权合约具有到期日,到期日的后一天…

WEB安全-文件上传漏洞

1 需求 2 接口 3 MIME类型 在Web开发中&#xff0c;MIME&#xff08;Multipurpose Internet Mail Extensions&#xff09;类型用于标识和表示文档的格式。这些类型在HTTP请求和响应头中扮演着重要的角色&#xff0c;告诉浏览器如何解释和处理接收到的资源12。 以下是一些Web开发…

ChatGPT:Java Stream 的疑问

ChatGPT&#xff1a;Java Stream 的疑问 解释一下 List<SupplierVm> collect tSupplierPage.getRecords().stream().map(item ->{SupplierVm supplierVm new SupplierVm();BeanUtils.copyProperties(item, supplierVm);return supplierVm;}).collect(Collectors.to…

【JavaScript】具有 iterable 接口的数据结构

具有 iterable 接口的数据结构指的是可以通过迭代器&#xff08;Iterator&#xff09;访问其成员的数据结构。在 JavaScript 中&#xff0c;具有 iterable 接口的数据结构包括数组&#xff08;Array&#xff09;、字符串&#xff08;String&#xff09;、Set、Map 等。这些数据…

C电池 和 D 电池的作用和类型详解及其之间的区别

C 和 D 电池是我们日常生活中必不可少的部件。它们通常用于高功率设备。例如手电筒和玩具。 D 型电池和 C 型电池是两种常见的电池类型。它们是一次性圆柱形电池。您可以在很多设备上使用它们。虽然它们有很多相似之处&#xff0c;但它们也有不同的特点。这些特点使它们适合某…

如何用qq邮箱注册outlook邮箱

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ​ 目录 第一步输入qq邮箱 第二步…

数据类型及数据块认知

西门子STEP7编程语言 梯形图(LAD) 功能块图(FBD) 语句表(STL) 其中梯形图和功能块图可以相互转换 CPU常用数据区 信号输入区 I 信号输出区 Q 程序中表现形式&#xff0c;IX.X/QX.X;IWX/QWX-访问的是CPU输出输入过程映像区 另一种形式IWX:P/QWX:P-访问的是信号端口地址&#xf…

深度整合全球资源,分贝通打造高效、合规的海外差旅管理平台

在全球化商业活动的背景下,中国企业出海已成为常态。然而,随着海外差旅市场的全面增长,企业在海外支出管理上面临诸多挑战。据2023年数据显示,分贝通出海差旅业务GMV同比增长高达500倍,这一增长背后隐藏着企业对于更省钱、更高效管控方式的迫切需求。 面对与日俱增的开支,企业开…

js对象的方法速览---数组的静态方法,实例方法和属性合集,各包含一个示例

tip&#xff1a; 本文仅作为查找和基本使用的展示&#xff0c;需要深入了解这些方法的使用请参考&#xff1a;Object - JavaScript | MDN (mozilla.org) 可以通过目录快速锁定需要查找的方法和查看它的使用 目录 tip&#xff1a; 新建一个对象 实例属性 实例方法 hasOwn…

Websocket 替代方案:如何使用 Firestore 监听实时事件

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 ​在现代 Web 开发中,实时更新功能对于许多应用程序(如聊天应用、协作工具和在线游戏)都是必不可少的。虽然 WebSocket 是一种常用的实时通信技术,但 Google 的 Firestore 也提供了一种强大的替代方案,使得实时监听变得…

Golang中defer和return顺序

在Golang中&#xff0c;defer 和 return 的执行顺序是一个重要的特性&#xff0c;它们的执行顺序如下&#xff1a; return语句不是一条单独的语句&#xff0c;实际上&#xff0c;它是由赋值和返回两部分组成的。赋值步骤会先执行&#xff0c;这一步会计算return语句中的表达式…

Linux安装Docker以及Docker Componse

一、安装前准备工作 1.1 查看服务器系统版本以及内核版本 cat /etc/redhat-release 1.2 查看服务器内核版本 uname -r这里我们使用的是CentOS 7.4 系统&#xff0c;内核版本为3.10 1.3 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm21.4 设置…

赛氪网受邀出席浙江省应用数学研究会,共启数学教育与竞赛新篇章

2024年7月5日&#xff0c;浙江省应用数学研究会在风景如画的嘉兴市成功举办了2024年学术研讨会暨第七届第六次理事会工作会议的首日活动。作为技术支持单位&#xff0c;赛氪网受邀参与此次盛会&#xff0c;彰显了其在数学教育及竞赛领域的深厚实力与积极贡献。 开幕式由嘉兴大学…

linux watchdog 子系统

目录 一、watchdog 子系统二、关键数据结构2.1 watchdog_device2.2 watchdog_ops2.3 watchdog_info 三、重要流程3.1 watchdog 初始化3.2 watchdog 设备注册3.3 watchdog 设备文件操作函数3.4 watchdog 喂狗用户空间 watchdog&#xff08;busybox&#xff09;内核空间喂狗疑问 …