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

网站焦点图如何美观python做网站怎么样

网站焦点图如何美观,python做网站怎么样,上海正规做网站公司报价,9377游戏官网【企业标准开发框架 01】全局异常处理+自定义异常类 是什么? 【0】 全局异常处理器(统一拦截所有的Controller抛出的异常) 统一拦截异常的机制,保证所有的Controller抛出的异常都可以被捕获,并且标准化的形式返回响应 在Spring Boot中通常使用RestControllerAdvice + @E…

【企业标准开发框架 01】全局异常处理+自定义异常类

是什么?

【0】 全局异常处理器(统一拦截所有的Controller抛出的异常)

  • 统一拦截异常的机制,保证所有的Controller抛出的异常都可以被捕获,并且标准化的形式返回响应
  • 在Spring Boot中通常使用RestControllerAdvice + @ExceptionHandler 来实现

【1】自定义异常类(业务异常类)

  • 自定义业务的异常类,用来明确表示业务的错误(如:用户不存在,余额不足)
  • 通常包含错误码+错误原因,便于前后端协同

为什么?

为什么必须要这样做,上面已经赘述过了,就是放了方便前后端联调,方便知道是哪里的业务出现了问题!

优点:

  1. 统一性(如果不写比较混乱,前端无法统一处理,写了之后都是{code,message,data} )
  2. 安全性 (如果不写有可能会把内部堆栈、sql信息泄露给用户)
  3. 可维护性(方便定义问题,能够快速知道是哪个模块出现的错误,前端也可以根据错误码给出提示)

怎么做?

步骤
1.自定义业务异常类(BusinessException)
2. 定义枚举类(ErrorCodeEnum)
3. 全局异常处理类(GlobalExceptionHandler)
4. 业务中直接使用throw new BusinessException(…)

自定义业务异常类

01. 枚举类
import lombok.Data;
import lombok.Generated;
import lombok.Getter;public enum CodeEnum {// 通用SUCCESS(0, "成功"),SYSTEM_ERROR(1000, "系统异常"),PARAM_ERROR(1001, "参数错误"),UNAUTHORIZED(1002, "未认证或登录已过期"),FORBIDDEN(1003, "没有权限"),// 用户模块USER_NOT_FOUND(2001, "用户不存在"),USERNAME_EXISTS(2002, "用户名已存在"),PASSWORD_ERROR(2003, "密码错误");private final int code;private final String message;CodeEnum(int code, String message) {this.code = code;this.message = message;}public int getCode(){return code;}public String getMessage(){return message;}
}
02.自定义异常类
/*** @author Soft* @version 1.0* @description: 自定义异常处理类* @date 2025/8/22 11:44*/
public class BusinessException extends RuntimeException {private final int code;/** * @author bohai* @description: 通过枚举构造 * @param:  * @return: * @date: 2025/8/22 15:32*/ public BusinessException(CodeEnum codeEnum){super(codeEnum.getMessage());this.code = codeEnum.getCode();}/**0. 在后续的业务中直接使用就可以throw new BusinessException(CodeEnum.USER_NOT_FOUND);1. 为什么code使用了final?但是message却没有使用final原因一:首先RuntimeException继承的是Exception,而Exception又继承Throwable,它里面的message是已经定义好的,而且是没有使用final的!!原因二:是因为实际开发中通常也不会修改message,但是又拼接的情况,方便重写message和灵活高效的调试,*/// 直接传入错误码和信息public BusinessException(int code, String message) {super(message);this.code = code;}public int getCode() {return code;}
}

为什么message不使用final? 上述代码注释中有详细解释!

在这里插入图片描述

03. 统一返回体

/*** @author hai* @version 1.0* @description: 统一返回体* @date 2025/8/22 15:55*/
@Data
public class AjaxResponse<T> extends HashMap<String, Object
http://www.dtcms.com/a/465839.html

相关文章:

  • SQL百题斩:从入门到精通,一站式解锁数据世界
  • TMC2240步进电机驱动芯片寄存器配置和电路设计
  • 高通被调查市占率将降,昂瑞微IPO推动射频芯片自主创新
  • SQL SERVER从专家到小白
  • 温州市企业网站制作网站升级建设中
  • 开源安全管理平台wazuh-暴力破解检测与响应
  • 视频网站用虚拟主机织梦网站标题被篡改
  • VBA即用型代码手册:创建一个新文档并保存html文件
  • 深圳模板网站多少钱音乐外链网站
  • Java 数学类详解:Math 类常用方法(abs/sqrt/random 等)一篇掌握
  • html 全角空格和半角空格
  • 网络协议之文件下载相关协议
  • 图数据库neo4j desktop2.0初探
  • 广州网站建设网络推广公司酒店旅游团购网站建设
  • 重庆镇海seo整站优化价格紫色个人网站模板
  • 有安全好用且稳定的共享网盘吗?
  • 网站空间是不是服务器南宁网站建设怎样建立一个好网站
  • 网站建设系统认证系统为什么建设银行的网站打不开
  • 并行传输如何重塑数据交换新格局
  • Maven用户设置文件(settings.xml)配置指南
  • 闪电卫士:弧光保护装置以毫秒速度守护电力安全
  • 免费搭建网站注册网站什么要求
  • CCF-GESP 等级考试 2025年9月认证C++三级真题解析
  • Wireshark 过滤器命令大汇总:从入门到精通
  • 网站软件免费下载wordpress 插件漏洞
  • 【Java数据结构】HashMap 的深入解析与优化实践
  • 免费网站个人注册网页设计教程与实训
  • 仿搜狐视频网站源码品牌营销策划方案报价
  • MySQLEXPLAIN命令详解从执行计划读懂SQL性能瓶颈
  • 【FastAPI】学习笔记