Java通用身份验证方法应引发Exception或RuntimeException

时间:2018-11-29 23:34:21

标签: java exception try-catch runtimeexception throw

我有这样的代码:

dwstate

方法AuthMethod检查用户名或密码是否匹配,否则将抛出AuthFailedException。

应该将其设置为检查异常( AuthFailedException扩展异常)还是将其取消选中( AuthFailedException扩展RuntimeException )?

我不知道此代码的客户端是否要在发生异常的情况下恢复代码。

1 个答案:

答案 0 :(得分:1)

Java documentation on exceptions

  

这是最重要的原则:如果可以合理地期望客户端从异常中恢复,请将其设置为已检查的异常。如果客户端无法采取任何措施来从异常中恢复,请将其设置为未经检查的异常。

在身份验证失败的情况下,可以合理地预期客户端将采取某些特定的操作,例如提示重新输入凭据-因此,这应该是经过检查的异常。