Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否所有PHP异常都有';跟踪'';消息';和';代码';财产?_Php_Exception_Logging - Fatal编程技术网

是否所有PHP异常都有';跟踪'';消息';和';代码';财产?

是否所有PHP异常都有';跟踪'';消息';和';代码';财产?,php,exception,logging,Php,Exception,Logging,我必须编写一个日志类来记录来自异常的数据。为了使事情更简单,我想知道是否可以在“trace”数组中检索数据,并通过在PHP中添加异常实例的“message”和“code”属性来扩展它。但我不确定PHP中所有抛出的异常是否保证至少有这三个属性(“跟踪”、“消息”和“代码”)。还建议是否有更好的方法来记录事情。首先,最好使用已经证明是好的代码。PHP社区广泛使用库检查它。如果你仍然想写你自己的日志,你应该坚持 回答你的问题。抛出的PHP对象必须是Exception类的实例或Exception的子类

我必须编写一个日志类来记录来自异常的数据。为了使事情更简单,我想知道是否可以在“trace”数组中检索数据,并通过在PHP中添加异常实例的“message”和“code”属性来扩展它。但我不确定PHP中所有抛出的异常是否保证至少有这三个属性(“跟踪”、“消息”和“代码”)。还建议是否有更好的方法来记录事情。

首先,最好使用已经证明是好的代码。PHP社区广泛使用库检查它。如果你仍然想写你自己的日志,你应该坚持

回答你的问题。抛出的PHP对象必须是Exception类的实例或Exception的子类

但如果你看一个异常的构造函数,你会发现

  public function __construct($message = null, $code = 0, Exception $previous = null);
您可以抛出空异常。但总会有代码、文件、跟踪和代码。代码和消息可以为空


您可以在

上了解更多信息。首先,最好使用已经被证明是好的代码。PHP社区广泛使用库检查它。如果你仍然想写你自己的日志,你应该坚持

回答你的问题。抛出的PHP对象必须是Exception类的实例或Exception的子类

但如果你看一个异常的构造函数,你会发现

  public function __construct($message = null, $code = 0, Exception $previous = null);
您可以抛出空异常。但总会有代码、文件、跟踪和代码。代码和消息可以为空


由于每个用户异常都在扩展基类
\exception
,因此它至少具有相同的功能。所以一般来说,您应该基于\异常类。由于每个用户异常都在扩展基类
\exception
,因此它至少具有相同的功能。所以一般来说,您应该基于\异常类。我同意,最好还是坚持使用已经编写的类。但它们不符合我的要求。要么是太大,要么是错过了我正在寻找的重要功能。我认为独白符合99%的需求。我在所有项目中都使用它,它可以高度定制,还有很多通道、处理程序等。我同意最好还是坚持使用已经编写的类。但它们不符合我的要求。要么是太大,要么是错过了我正在寻找的重要功能。我认为独白符合99%的需求。我在所有项目中都使用它,它可以高度定制,还有很多渠道、处理程序等。