【问题标题】:Is throwing exceptions for user generated errors considered abuse?为用户生成的错误抛出异常是否被视为滥用?
【发布时间】:2013-11-22 22:07:14
【问题描述】:

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

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

如果我为这些抛出异常,然后在 try/catch 中优雅地处理它们,这是否被认为是好的做法,还是滥用异常?

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

使用异常和 try/catch 块作为显示面向用户的消息(甚至是成功确认!)的简单解决方案非常诱人。关于异常消息(如果有)的使用/滥用行在哪里?

【问题讨论】:

  • 我不认为这是滥用,它使您的代码非常小而快速。对于很多用户生成的错误,我通常也使用这种 try/catch 想法,但通常我对此没有任何问题。
  • 正如@YUNOWORK 指出的那样,我只会使用try/catch 异常。这不是滥用它。如果你也有 javascript 验证和/或 ajax,你可以跳过它的往返和异常

标签: php exception exception-handling


【解决方案1】:

成功确认也不例外,这实际上是exception这个词的本质。即:由于功能未成功结束而发生异常。

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

【讨论】:

    猜你喜欢
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多