Php 异常处理性能

Php 异常处理性能,php,performance,exception,Php,Performance,Exception,可能重复: 使用try-catch块时,即使没有抛出任何异常,也会影响代码的性能吗 我想编写我自己的异常处理程序,它是从标准异常类扩展而来的,我想知道这种情况是否会降低页面在几个调用中的性能。答案是否定的,没有任何明显的影响。我想在数千次调用的过程中,您可能会看到一些带有try/catch的代码和一些没有try/catch的代码之间存在几微秒(或更少)的差异,但由于try/catch是一种语言构造,因此不会产生显著的开销 这与使用for循环或if/else相同 真正的测试是对代码进行基准测试并

可能重复:

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


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

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

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

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


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

我曾经与之共事的一些人总是强调异常是如何导致代码运行的,我应该尽量减少使用,直到我证明是IDE导致代码运行缓慢,而不是异常本身。这是VisualStudio2003

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