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

东莞网站设计价格网站前台数据库

东莞网站设计价格,网站前台数据库,网络课程设计开发,网页设计多少钱一个月目录 一、全局异常处理的作用二、Spring Boot 实现全局异常处理#xff08;附上代码实例#xff09;三、总结#xff1a; #x1f31f;我的其他文章也讲解的比较有趣#x1f601;#xff0c;如果喜欢博主的讲解方式#xff0c;可以多多支持一下#xff0c;感谢#x1… 目录 一、全局异常处理的作用二、Spring Boot 实现全局异常处理附上代码实例三、总结 我的其他文章也讲解的比较有趣如果喜欢博主的讲解方式可以多多支持一下感谢 了解SpringBoot的Bean请看 从乐高积木到乐队指挥用最通俗易懂的方式带你玩转 Spring Boot Bean ✨更多请看个人主页 码熔burning 咱今儿个就来好好讲解一下SpringBoot的全局异常处理保证你听得懂会写会用 一、全局异常处理的作用 想象一下你开了一家餐厅 ️。 没有全局异常处理 如果你的厨师 ‍ 在做菜的时候不小心把盐放多了 或者烤箱 突然坏了导致菜做砸了 。顾客吃到难吃的菜会直接抱怨 ️甚至直接走人 ‍♀️餐厅的声誉就受损了 。而且你可能不知道具体是哪个环节出了问题 下次还可能犯同样的错误 。 有全局异常处理 你安排了一个“危机公关”团队 ‍♀️‍♂️专门处理这些突发情况。 如果厨师做菜出错危机公关团队会立刻介入 ‍♀️给顾客道歉 提供补偿比如打折 、换菜 尽量安抚顾客的情绪 。同时危机公关团队会记录下出错的原因 盐放多了、烤箱坏了反馈给厨师和设备维护人员 ️避免下次再犯 。即使顾客非常生气 危机公关团队也能保持冷静 ‍♀️用专业的态度处理问题 尽量维护餐厅的形象 。 总结 全局异常处理就像餐厅的“危机公关”团队它的作用是 兜底 当程序出现未预料的错误异常时防止程序崩溃 给用户一个友好的提示 而不是让用户看到一堆乱七八糟的错误代码 ‍。统一处理 将所有异常集中到一个地方处理 方便记录日志 、发送报警 、返回统一的错误格式 ️避免代码重复 ♻️。提升用户体验 给用户更友好的错误提示 而不是让用户看到技术性的错误信息 。方便维护 方便开发人员定位问题 改进代码 提高程序的健壮性 。 二、Spring Boot 实现全局异常处理附上代码实例 Spring Boot 提供了几种实现全局异常处理的方式最常用的是使用 ControllerAdvice 和 ExceptionHandler 注解。 1. ControllerAdvice (异常处理中心) ControllerAdvice 就像一个“异常处理中心” 它会拦截所有 Controller 中抛出的异常 。你可以把它理解为一个特殊的 Controller ️专门用来处理异常。 2. ExceptionHandler (异常处理方法) ExceptionHandler 就像“异常处理中心”里的“专家” ‍⚕️‍⚕️每个专家负责处理一种类型的异常 。你可以用它来指定某个方法专门处理哪种类型的异常 。 代码示例 import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap; import java.util.Map;ControllerAdvice // 声明这是一个全局异常处理类 public class GlobalExceptionHandler {// 处理自定义的业务异常ExceptionHandler(value BusinessException.class)ResponseBody // 返回 JSON 格式的数据 public ResponseEntityMapString, Object handleBusinessException(BusinessException e) {MapString, Object errorInfo new HashMap();errorInfo.put(code, e.getCode());errorInfo.put(message, e.getMessage());return new ResponseEntity(errorInfo, HttpStatus.BAD_REQUEST); // 返回 400 状态码 ❌}// 处理空指针异常ExceptionHandler(value NullPointerException.class)ResponseBodypublic ResponseEntityMapString, Object handleNullPointerException(NullPointerException e) {MapString, Object errorInfo new HashMap();errorInfo.put(code, 500);errorInfo.put(message, 服务器内部错误空指针异常 );errorInfo.put(detail, e.getMessage()); // 可以记录更详细的错误信息 ℹ️return new ResponseEntity(errorInfo, HttpStatus.INTERNAL_SERVER_ERROR); // 返回 500 状态码 }// 处理其他所有未知的异常 (兜底)ExceptionHandler(value Exception.class)ResponseBodypublic ResponseEntityMapString, Object handleException(Exception e) {MapString, Object errorInfo new HashMap();errorInfo.put(code, 999);errorInfo.put(message, 服务器发生未知错误 ‍♀️);errorInfo.put(detail, e.getMessage());return new ResponseEntity(errorInfo, HttpStatus.INTERNAL_SERVER_ERROR);} }// 自定义业务异常类 class BusinessException extends RuntimeException {private String code;private String message;public BusinessException(String code, String message) {this.code code;this.message message;}public String getCode() {return code;}public String getMessage() {return message;} }代码解释 ControllerAdvice: 告诉 Spring这是一个全局异常处理类 。ExceptionHandler(value BusinessException.class): 告诉 SpringhandleBusinessException 方法专门处理 BusinessException 类型的异常 。 value 属性指定了要处理的异常类型。ResponseBody: 告诉 Spring将方法的返回值转换为 JSON 格式 返回给客户端。ResponseEntityMapString, Object: 方法的返回值类型表示返回一个包含错误信息的 JSON 对象 以及 HTTP 状态码。handleBusinessException(BusinessException e): 异常处理方法接收一个 BusinessException 类型的参数 e表示捕获到的异常对象 。 你可以在这里获取异常的信息并进行处理 ⚙️。MapString, Object errorInfo: 创建一个 Map 对象 ️用于存储错误信息例如错误码、错误消息等。new ResponseEntity(errorInfo, HttpStatus.BAD_REQUEST): 创建一个 ResponseEntity 对象 包含错误信息和 HTTP 状态码。 HttpStatus.BAD_REQUEST 表示 400 错误 ❌表示客户端请求有误。handleException(Exception e): 处理所有未知的异常 ‍♀️这是一个兜底方案 ️防止程序崩溃 。 如何使用 创建自定义异常类 (可选): 例如上面的 BusinessException你可以根据业务需求创建自己的异常类 ✏️。 在 Controller 中抛出异常 import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;RestController public class MyController {GetMapping(/test)public String test(String input) {if (input null || input.isEmpty()) {throw new BusinessException(1001, 输入不能为空 ); // 抛出自定义异常}if (input.equals(error)) {throw new NullPointerException(模拟空指针异常 ); // 抛出空指针异常}return Hello, input;} }启动 Spring Boot 应用 当 Controller 中抛出异常时GlobalExceptionHandler 会捕获这些异常 并进行处理 ⚙️返回统一的错误信息给客户端 。 测试 访问 http://localhost:8080/test?input (不带参数)会返回一个 400 错误 ❌包含错误码 “1001” 和错误消息 “输入不能为空 ”。访问 http://localhost:8080/test?inputerror会返回一个 500 错误 包含错误码 “500” 和错误消息 “服务器内部错误空指针异常 ”。访问 http://localhost:8080/test?inputworld会正常返回 “Hello, world” 。 三、总结 使用 ControllerAdvice 创建一个全局异常处理类 。使用 ExceptionHandler 注解指定处理特定类型的异常的方法 。在异常处理方法中获取异常信息 ℹ️并返回统一的错误格式 ️ 给客户端。可以自定义异常类 ✏️方便处理业务逻辑中的错误。 更进一步 日志记录 在异常处理方法中可以使用日志框架例如 Logback、Log4j记录异常信息 方便排查问题 。发送报警 当发生严重错误时可以发送邮件 、短信 等报警信息给开发人员 ‍‍。统一错误码 定义一套统一的错误码规范 方便客户端识别和处理错误。AOP 方式 除了 ControllerAdvice还可以使用 AOP (面向切面编程) 来实现全局异常处理更加灵活 。 希望这篇文章的讲解能够帮助你理解 Spring Boot 的全局异常处理 。 记住全局异常处理是提高程序健壮性和用户体验的重要手段 。 多练习 ️‍♀️多实践 你就能掌握它
http://www.dnsts.com.cn/news/184117.html

相关文章:

  • 怎样不花钱做网站免费网站后台管理模板下载
  • 广东省建设厅人才网站免费起名网最好的网站
  • 网页设计搭建网站商城网站建设策划书
  • 北京建设企业网站在厦门做网站找谁
  • 快速域名网站备案室内设计快速培训班
  • js做网站登录框验证码新浪舆情通app下载
  • 做网站pyton温州系统开发
  • 展示类网站管理员大连建设工程信息网官网官网官
  • 如何建设公司门户网站网页制作与网站设计
  • 深圳网站建设单位站长工具查询ip地址
  • 福州p2p网站建设公司网页设计实训报告1000字
  • 企业网站 生成html网站开发 开票
  • 网站建设技术员手机网站建设哪家公司好
  • 机械加工网站有哪些网站赚钱的方式
  • 网站开发技术论文wordpress 前台加载慢
  • 做淘推广的网站小型电商网站模板
  • 档案网站建设的步骤网站虚拟主机管理
  • cpanel安装wordpress济南网站优化
  • 建模网站百度网址大全首页设为首页
  • 建设一个网站需要几个角色企业型网站网址
  • 建一个购物网站需要多少钱c2c平台怎么下载
  • 南昌媒体网站建设口碑推荐用什么软件写网站
  • 重庆建设工程安全管理局网站企业网站建设长沙
  • 自助服务系统网站建设监理网站
  • 郑州做网站哪家好网站开发人员需求
  • 太原网站的优化文具网站建设理念
  • 国内做服装趋势的网站网站页面链接怎么做的
  • 网站建设哪家好知道万维科技长沙网站排名方法
  • 河北远策网站建设wordpress微型SEO商城
  • 网站建设松江免费视频素材软件app