最佳实践:抛出异常或在用户输入上使用Validator

时间:2013-05-01 09:14:44

标签: oop exception-handling user-input validation

最近我讨论了是否在假用户输入上抛出异常。

示例:虽然我的帐户未激活,但我正在尝试登录。作为OO语言的程序员,我可以通过几种方式处理这个问题。在这种情况下,让我们坚持这两个:

  1. 以代表方式从本地Exception投掷自定义Service,扩展Exception。在class处理用户输入。
  2. 中捕获此信息
  3. 使用Validator致电本地Service以检查此帐户是否已登录。
  4. 我的愿景与许多其他人一样,Exception代表了程序中的错误。例如。数据库无法访问,解析数据时出错。

    许多其他人的愿景,在没有被激活的情况下登录的情况在任何用例上都不是成功的情况,因此将失败。这不应该发生,值得投掷Exception

    就我个人而言,我会用Validator处理这类问题,只针对程序中的错误坚持Exception。但是,我想得到一个建设性的答案,哪个案例更受欢迎。如果可能,请参阅任何文档。我正在使用Java,虽然这个问题并不局限于任何语言(只要我猜是OO)。

1 个答案:

答案 0 :(得分:1)

如果出现验证错误,则必须中断应用程序的流程。例如,如果提供的邮件地址无效,您必须终止歌唱进度。因此,异常可用于用户输入验证的目的。

作为示例使用,您可以检查JSF。它受益于Java的异常机制来处理用户输入验证。以下链接非常有用: