最近,我一直在争论是否在错误的用户输入上抛出异常。
示例:虽然我的帐户未激活,但我正在尝试登录。作为 OO 语言的程序员,我可以通过几种方式来处理这个问题。对于这种情况,让我们坚持这两个:
- 以具有代表性的方式
Exception
从当地抛出一个习俗,延伸。抓住这个在Service
Exception
class
处理用户输入时捕捉到这一点。 - 使用a
Validator
调用本地Service
查看该账号是否登录。
像许多其他人一样,我的愿景是Exception
代表了程序中的错误。例如,数据库无法访问,解析数据时出错。
许多其他人的愿景也是,在未激活的情况下登录的情况在任何用例上都不是成功的场景,因此会失败。这不应该发生,值得抛出Exception
。
就个人而言,我会用 a 来处理这种问题Validator
,坚持Exception
s 只是因为程序中的错误。但是,尽管如此,我想就哪种情况更受欢迎得到建设性的答案。如果可能,请参阅任何文档。我正在使用Java
,虽然这个问题不限于任何语言(只要它是 OO 我猜)。