如何为 class 方法记录 "trigger_error()"?

How do I document "trigger_error()" for a class method?

如果我有以下class方法:

class ClassA
{
    public function MethodA()
    {
        trigger_error('An error has occurred.', E_USER_ERROR);
    }
}

... 那么记录它可能 "throw"(问题)显式使用 trigger_error() 错误的公认方式是什么?我发现最接近的是使用 @throws@exception。是否可能根本不应该记录这种行为,或者应该将其包含在方法描述本身中?

我问这个关于 trigger_error 的问题的原因是因为我使用了自定义错误日志记录 class,它由 自定义错误处理程序 调用,因此以有组织的方式发出运行时错误和 output/save 它们很方便。我应该只使用 @see trigger_error 还是 @see ErrorLog(我的自定义 class)?


编辑:

对于那些想知道是否触发错误的脚本流程的人:脚本将不会E_USER_ERROR.

终止执行

The script will not terminate execution on E_USER_ERROR.

这可能是您更大的问题。 PHP 的错误机制相当……原始。它基本上只知道两种模式:通过触发通知、警告或严重警告(a.k.a.错误)来通知开发人员 潜在 问题,或者通过触发致命错误。触发(致命)错误但继续执行脚本并不是它的真正目的。

该函数应该简单地用 "triggers error if X, Y or Z" 进行非正式记录。这个通常表示"will kill script if X, Y or Z"。如果您要覆盖该行为,则由您决定。

如果可以以标准化方式处理这些错误,那么正式记录的错误就有意义了,这与异常非常相似。它们具有正式的文档标准 (@throws) 并且可以以灵活的方式处理 (try..catch)。您确实应该 使用异常来达到您在此处尝试使用错误的目的。