Java 使用检查异常处理web层中要处理的错误
我很难组织如何处理服务层中发生的错误。在该方法中引发该异常的原因是提供的密码太弱或确认id错误。不过,例外情况的名称尚未确定 但是,在新应用程序中是否仍要避免检查异常?如果是这样,我如何向调用者传达这样的错误?此场景中的调用方是公开web服务的web层。我想处理web层中的错误并创建一条错误消息 我有一个方法:Java 使用检查异常处理web层中要处理的错误,java,spring,spring-mvc,jakarta-ee,exception,Java,Spring,Spring Mvc,Jakarta Ee,Exception,我很难组织如何处理服务层中发生的错误。在该方法中引发该异常的原因是提供的密码太弱或确认id错误。不过,例外情况的名称尚未确定 但是,在新应用程序中是否仍要避免检查异常?如果是这样,我如何向调用者传达这样的错误?此场景中的调用方是公开web服务的web层。我想处理web层中的错误并创建一条错误消息 我有一个方法: boolean confirmPasswordReset(int accountId, String confirmationId, String newPassword) throws
boolean confirmPasswordReset(int accountId, String confirmationId, String newPassword) throws ConstraintViolation;
这是异常类:
public class ConstraintViolation extends Exception {
public ConstraintViolation(String message) {
super(message);
}
}
从阅读本文来看,它似乎应该是正确的:
偶然事件
- 被认为是:设计的一部分
- 预计会发生:定期但很少
- 谁关心它:调用方法的上游代码示例:可选返回模式
- 最佳映射:选中的异常
我尽量少使用检查异常。我认为使用运行时异常并清楚地记录它就足够了 从您的案例来看,您似乎是设计和控制web层的人。在这种情况下,您已经知道服务层抛出的运行时异常以及如何处理它们。编译器不需要告诉您
只有当异常是可恢复的,并且代码的客户端是外部的,我必须强制它处理异常时,我才会使用选中的异常。即使如此,结果很可能是多了一个空的catch块 在这里,您可以很好地讨论这两种方法的优缺点。 我认为重要的是(与上面文章的作者类似)你要选择走哪条路(检查或不检查),然后保持一致。否则,您将得到一个混乱的代码库,并且可能会受到这两种方法的不利影响