异常处理|Java Sping Boot

fdbelqdn  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(186)

我是spring的新手。我目前正在学习异常处理。我的问题是,为什么你对所有的事情都使用一个异常(userNotFoundException,nameNotFoundException,nameAlreadyExistsException)?为什么不对每个HttpCode都做一个例外呢?
我真的看不出它的价值。

mepcadol

mepcadol1#

这里userNotFoundExceptionnameNotFoundException将向最终用户传达几乎相同的消息,通常这种情况属于404(找不到资源)。因此,最终用户要么必须创建资源(注册),要么必须尝试另一个资源。如果找到资源,最终用户将得到200(确定)成功响应。
nameAlreadyExistsException出现在最终用户试图创建一个已经存在的资源时。通常它会出现在409(冲突),400(错误请求)或403(禁止-另一个资源已经存在相同的属性)下。如果资源不存在,最终用户将得到201(资源已创建)成功响应。
想象一下,一个最终用户在上述所有场景中都得到了400分,但最终用户不知道哪里出了问题。他是试图访问一个不存在的资源,还是试图创建一个现有的资源。

相关问题