【问题标题】:Exception handling performance [duplicate]异常处理性能[重复]
【发布时间】:2010-11-12 04:26:42
【问题描述】:

可能重复:
Performance of try-catch in php

在使用try-catch块时,即使没有抛出任何异常,是否会影响代码的性能?

我想编写我自己的从标准异常类扩展的异常处理程序,想知道这种情况是否会降低页面在多次调用时的性能。

【问题讨论】:

    标签: php performance exception


    【解决方案1】:

    答案是否定的,没有任何意义。我想在数千次调用的过程中,您可能会看到一些带有 try/catch 的代码和一些没有的代码之间存在几微秒(或更短)的差异,但由于 try/catch 是一种语言结构,因此您不会产生重大影响开销。

    这与使用 for 循环或 if/else 相同。

    真正的测试是对您的代码进行基准测试并亲自查看。 ;)

    编辑:我应该澄清一下,异常的实际抛出和捕获可能会涉及一些开销,因为必须生成异常对象等。这与仅测量 try/catch 执行本身略有不同。

    【讨论】:

      【解决方案2】:

      我曾经共事过的一些人总是强调异常导致代码运行的速度有多慢,我应该尽量减少使用,直到我证明是 IDE 让它变慢,而不是异常本身。这是视觉工作室 2003。

      当然,您应该始终注意何时不要抛出异常。如果您将其用作正常流程并且抛出一百万个异常来影响控制流程,那么您很可能有一个糟糕的设计。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-15
        相关资源
        最近更新 更多