【发布时间】:2011-07-09 02:54:12
【问题描述】:
好的,这可能是一个非常菜鸟的问题,但我发现关于这方面的 PHP 文档和几个 Internet 搜索并没有给我任何想法。
我什么时候应该使用 try-catch 块来改进我的应用程序?
我读到有人说我们应该只使用 try-catch 块来防止致命错误。 我读到其他人说我们应该只在意外错误上使用它(等待什么?意外?如果它们是意外错误,我怎么能用 try-catch 防止它们?我应该把我所有的应用程序代码放在一个 try 块中吗?)。 其他人只是说 try-catch 块应该在任何地方使用,因为它们也可以扩展(扩展 Exception 类)。 最后有人说 PHP 的 try-catch 块完全没用,因为它们的实现非常糟糕。 (在这个问题上,我发现了一个关于性能的很好的 SO 问题)。
在我看来,这个话题非常奇怪和困惑。有人可以点亮我吗?
【问题讨论】:
-
这正是这类问题对 SO 不利的原因。这一切都取决于偏好。严格的 OOP 资深人士会到处告诉你,而严格的程序资深人士会告诉你,嘿,他们很愚蠢。做对你有用的事。
-
但这并不是严格意义上的偏好或适当性。在 PHP 中,有些函数会产生错误,有些会产生异常(有些甚至只是打印一些东西,或者有自定义消息假脱机程序)。这取决于您使用的功能。一些扩展(如 PDO)甚至可以配置为打印错误消息或抛出异常。
-
@Kevin Peno,我认为那里有一些隐藏的模式在谈论它。
-
我是从一般的角度说的。如果你想让我把它放在 PHP 的角度。思想严谨的 OOP 资深人士会告诉您将异常放在任何地方,但不要放在那里,或放在那里,或放在那里,或放在那里……因为 PHP 对于它在哪里抛出错误(或者我应该说打印它们)是愚蠢的。