为用户生成的错误抛出异常是否被视为滥用


Is throwing exceptions for user generated errors considered abuse?

>假设我有一个允许用户注册站点的表单,并且他们可能会收到三个预期错误:

  1. 用户名已被占用
  2. 电子邮件已被接收
  3. 密码不符合最低要求

如果我为这些抛出异常,然后在尝试/捕获中优雅地处理它们,这被认为是良好做法还是滥用异常?

我觉得使用异常向最终用户显示已知/预期的消息与使用异常在开发某些内容时提醒开发人员代码问题之间存在差异。

使用异常和 try/catch 块作为显示面向用户的消息(甚至是成功确认!有关异常消息(如果有)的使用/滥用热线在哪里?

成功确认不是例外,这实际上是exception这个词的本质。 即:发生异常是因为功能没有以成功结束。

对于您提到的任何情况提出例外,这绝对不是滥用。我个人甚至会说这是一个很好的做法,因为它在最高级别强制执行用例封装(尝试在服务接口或前端级别捕获)