我们需要 PHP 异常代码做什么?任何用例场景?

2022-08-30 10:31:34

好吧,这对许多人来说是一个非常蹩脚的问题,但我希望我能得到压倒性的回应:)

当我在PHP中抛出异常时,我可以向消息添加代码。
我捕获一个异常并根据其类型(Like or )处理它。我记录消息或显示它或做任何合适的事情。
我还可以添加附加上一个异常以跟踪错误来源的路径。InvalidArgumentExceptionOutOfBoundException

但有一件事我从未使用过或从未想过:代码有多大用处?

例如:

throw new Exception("db Error", $code, $previousException);

我该怎么办?$code


答案 1

该消息用于向用户显示,而代码供程序使用。例如,在您的“数据库错误”示例中,您可能会编写一组代码,例如

  1. 无法连接
  2. 查询期间出错
  3. 空结果
  4. 关闭连接时出错

,然后使用相应的代码。然后,当您代码的其他部分看到它们异常时,它们将知道发生了什么,并可能智能地处理它。


答案 2

如何解释取决于异常类型。例如,如果您有一个表示MySQL数据库错误的子类,则可能是本机MySQL错误代码。在低级 IO 错误的情况下,这可能是来自 <errno.h> 的值。$codeException$code

基本上,应包含以编程方式处理异常所需的任何内容。大多数异常都是在某个地方处理的。如果所有异常都只是显示为错误,则仅当需要包含来自MySQL客户端库之类的库中的错误代码时才有用。$code$code


推荐