自定义异常处理
发布日期:2021-05-08 09:46:31 浏览次数:16 分类:技术文章

本文共 1109 字,大约阅读时间需要 3 分钟。

在开发中考虑到用户可能不知道什么是空指针错误,什么是类型转换错误,为了更明确的提示异常,通常会采用自定义异常。

如:用户没有填写帐号或者密码就会提示输入帐号密码,自定义异常能清楚的定位错误到底是什么意思。

继承RuntimeException

public class UserRuntimeException extends RuntimeException {
private static final long serialVersionUID = 1L; private String id; public String getId() {
return id; } public void setId(String id) {
this.id = id; } public UserRuntimeException(String id, String message) {
super(message); this.id = id; }}

异常处理器

@ControllerAdvicepublic class ControllerExceptionHandler {
@ExceptionHandler(UserRuntimeException.class) @ResponseBody @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public Map
handleMyRuntimeException(UserRuntimeException ex){
Map
result = new Hashtable<>(); result.put("id", ex.getId()); result.put("msg", ex.getMessage()); return result; }}

Controller应用

@RestController@RequestMapping("/user")public class UserController {
@GetMapping("/{id}") public String getUserById(@PathVariable String id) {
if(!id.equals("123456")) {
throw new UserRuntimeException(id,"id not found"); } return id; } }

结果展示

在这里插入图片描述在这里插入图片描述在这里插入图片描述

转载地址:https://blog.csdn.net/l_learning/article/details/89439736 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CountDownLatch并发测试
下一篇:Spring本地事务

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年05月02日 17时05分48秒