news 2026/6/10 5:37:06

throw new Exception 如何指定返回code

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
throw new Exception 如何指定返回code

解决方案:自定义异常类(推荐)

Java标准库中的ExceptionRuntimeException等基础异常类都没有提供错误码(code)的属性,因此最常用、最灵活的方式是创建自定义异常类,在其中添加code属性并提供对应的构造方法。

根据业务场景,你可以选择继承受检异常Exception)或非受检异常RuntimeException,更推荐用于业务异常,无需强制捕获)。

1. 自定义业务异常类(带错误码)
/** * 自定义业务异常类,支持错误码和错误消息 */publicclassBusinessExceptionextendsRuntimeException{// 错误码privateintcode;// 构造方法1:只传错误消息(默认错误码,比如500)publicBusinessException(Stringmessage){super(message);this.code=500;// 默认系统错误码}// 构造方法2:传错误码和错误消息(核心)publicBusinessException(intcode,Stringmessage){super(message);this.code=code;}// 构造方法3:传错误码、消息和异常原因(用于异常链)publicBusinessException(intcode,Stringmessage,Throwablecause){super(message,cause);this.code=code;}// 获取错误码的getter方法publicintgetCode(){returncode;}}
2. 使用自定义异常(指定code)
// 抛出异常:指定错误码(比如401:未授权)和消息thrownewBusinessException(401,"未携带 Token,请登录");
3. 捕获异常并获取code
try{// 执行可能抛出异常的逻辑thrownewBusinessException(401,"未携带 Token,请登录");}catch(BusinessExceptione){// 获取错误码和消息intcode=e.getCode();Stringmessage=e.getMessage();System.out.println("错误码:"+code+",错误消息:"+message);}

补充:框架自带的异常(适用于特定场景)

如果你使用了Spring、Spring Boot等框架,部分框架提供了支持状态码的异常,但这些主要是HTTP状态码,而非业务错误码:

  • ResponseStatusException(Spring提供):用于指定HTTP状态码和消息,比如new ResponseStatusException(HttpStatus.UNAUTHORIZED, "未携带 Token,请登录")
  • HttpClientErrorException:用于HTTP客户端的异常,携带HTTP状态码。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 22:02:42

Wan2.2-T2V-A14B视频生成模型实战:如何用140亿参数打造高保真T2V内容

Wan2.2-T2V-A14B视频生成模型实战:如何用140亿参数打造高保真T2V内容 在短视频日活破十亿、内容创作需求呈指数级增长的今天,一个广告片从创意到成片动辄数周,影视预演仍依赖手绘分镜和3D动画师逐帧调整——这种“人力密集型”生产模式正面临…

作者头像 李华
网站建设 2026/6/9 17:37:00

AutoGPT实战应用:让AI自主完成复杂任务的全流程解析

AutoGPT实战应用:让AI自主完成复杂任务的全流程解析 在信息爆炸的时代,我们每天面对的任务越来越复杂——从撰写一份详尽的市场分析报告,到为孩子制定个性化的学习计划,再到快速生成可运行的代码原型。传统的AI助手虽然能回答问题…

作者头像 李华
网站建设 2026/6/9 14:26:55

简单理解:SimpleFOC与正经 FOC(工业级)

SimpleFOC 是FOC(磁场定向控制)的开源简化实现版本,并非独立于 FOC 的技术,而你说的 “正经 FOC” 通常指工业级 / 商业级的标准 FOC 实现,二者核心都是 FOC 的磁场定向控制逻辑,但在实现复杂度、功能特性、…

作者头像 李华
网站建设 2026/6/9 16:03:39

小米运动刷步数终极教程:2025免费自动同步微信支付宝

小米运动刷步数终极教程:2025免费自动同步微信支付宝 【免费下载链接】mimotion 小米运动刷步数(微信支付宝)支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 还在为每天运动步数不够而烦恼吗?想轻松…

作者头像 李华
网站建设 2026/6/10 3:53:00

【自然语言处理】中文 n-gram 词模型

目录 一、题目描述 二、解决方案 三、开发流程概述 (一)全局配置模块(基础环境设置) 核心功能: (二)文本预处理模块(数据清洗与标准化) 核心功能:将原始…

作者头像 李华
网站建设 2026/6/10 14:06:28

【专题07】Redis缓存面试题(40题)

相关文档: redis中文文档 📚 知识点总览图 🏗️ Redis架构图 1. 单机模式 2. 主从复制架构 3. 哨兵模式架构 4. Cluster集群架构

作者头像 李华