
资料内容:
以下是⼀个“⽤户管理系统”实战案例,覆盖异常处理的核⼼场景,包含基础处理、⾃定义异常、分
层处理、全局捕获等模块,代码可直接运⾏并观察不同异常场景的处理效果。
exception_demo/
├── src/
│ ├── exception/ # ⾃定义异常类
│ │ ├── UserNotFoundException.java # ⽤户不存在异常
│ │ └── InvalidUserInputException.java # 输⼊⽆效异常
│ ├── service/ # 服务层(业务逻辑,抛异常)
│ │ └── UserService.java
│ ├── controller/ # 控制层(接收请求,处理异常)
│ │ └── UserController.java
│ ├── util/ # ⼯具类(⽇志)
│ │ └── LoggerUtil.java
│ └── Main.java # 测试主程序
└── README.md
⼆、核⼼代码实现
(⼀) ⾃定义异常类(区分业务异常)
⾃定义异常是异常处理的核⼼,⽤于明确错误类型,便于上层处理。
// src/exception/UserNotFoundException.java
package exception;
// ⾮受检异常(继承RuntimeException,⽆需强制捕获)
public class UserNotFoundException extends RuntimeException {
// 携带错误信息和⽤户ID(便于排查)
private final int userId;
public UserNotFoundException(int userId, String message) {
super(message); // ⽗类存储错误描述
this.userId = userId;
}
// 提供获取业务参数的⽅法
public int getUserId() {
return userId;
}
}