【问题标题】:Why do exceptions usually have the suffix 'Exception' in the class name?为什么异常通常在类名中带有后缀“Exception”?
【发布时间】:2011-02-21 02:55:51
【问题描述】:

在我看来,这是多余的信息,因为类的使用会表明它是一个例外。此外,在 PHP 中,该类必须扩展 Exception 类,因此在单独查看该类时很明显这是一个例外。

尽管如此,开发人员通常会应用后缀“异常”。这是为什么呢?

【问题讨论】:

    标签: php exception naming-conventions


    【解决方案1】:

    我知道这没有任何约束规则,但我想这很有意义。

    class FileNotFound
    

    可能意味着很多事情,而

    class FileNotFoundException
    

    使异常字符非常清晰。

    【讨论】:

    • 我是这么想的,但它只会在类 FileNotFound extends Exception 的上下文中使用,或者在抛出和捕获时使用。
    • @Pheter 是的,但是如果您使用 IDE,该类将出现在您的项目资源管理器/代码资源管理器中,并且可能会造成混淆。使用“例外”前缀,从长远来看,IMO 会更清楚。
    • 现在我们有了命名空间,你会说这仍然有效吗?因为现在人们大部分时间都使用Exception 命名空间来处理他们的异常。
    【解决方案2】:

    想象两个类,InvalidIndex 和 InvalidIndexException。 一个名为 InvalidIndex 的类可能是完全有效的(例如,使数据库索引无效或类似的东西)并且与异常无关。如果您现在有无效数组索引的例外情况,您将遇到命名问题。 通过使用 Exception 为异常类添加后缀,可以避免类似的名称冲突。

    【讨论】:

    • 按照这个逻辑,所有的类都应该在项目名称和月相的前面或后面加上——这样可以避免名称冲突,对吧?
    • 他为月相 +1。我期待看到 InvalidArgumentAnotherShoppingCartFullMoonException
    • @borgwardt - 您将“有时是个好主意”与“您总是必须这样做”混淆了。
    猜你喜欢
    • 1970-01-01
    • 2023-02-06
    • 2011-11-03
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    相关资源
    最近更新 更多