- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下代码:
class TestClass {
function __construct() {
set_error_handler(array($this,'error_handler'));
}
function error_handler($errno,$errstr,$errfile,$errline,$errcontext) {
trigger_error("\ncode: [$errno]\nfile: [$errfile -> $errline]\nSTR: [$errstr]",E_USER_ERROR);
}
}
count($nonExistentVariable);
//notice was thrown above but script carry on
//but here error handler is registered and...
$anInstance = new TestClass();
// rest of the code is affected by it
count($nonExistentVariable); // user error is thrown
error_handler
函数仅在实例内部遇到错误且不会与其他代码全局困惑时才触发?
最佳答案
您可以检查错误处理程序中的调用堆栈(通过debug_backtrace()
),并确定它是否来自您感兴趣的类。如果不是来自该类,请确保为return FALSE
,PHP将转而使用默认的处理程序。
http://php.net/manual/en/function.set-error-handler.php
关于php - 如何设置set_error_handler使其仅在类的实例中生效而不在全局中生效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7965644/
这个问题在这里已经有了答案: How can I make set_error_handler() call a method on an object? (3 个回答) 6年前关闭。 我收到此错误:
我在我的命名空间中声明了一个错误处理函数 namespace Custom\Namespace; function my_custom_handler($errno, $errstr, $errfil
你有什么想法——如果可能的话——如何在日志文件中存储警告,就像发生 fatal error 一样? 前任。代码: ".$debug; echo "************** CHECK **
您能帮我正确设置php set_error_handler 吗?我需要处理引发php 警告作为异常的代码。但是我不知道该怎么做。现在我有了这段代码,我认为这是不正确的。 set_error_handl
我将 set_error_handler() 函数设置为在出现错误时调用函数。 在那个函数中我有自己的异常类实现: function acs_error_handler($errno, $errstr
我RTM 但我找不到这个问题的任何好的答案,所以这里是: 我可以调用一个静态的吗方法作为错误处理程序(例如:set_error_handler('error::function'))? 是否推荐? 最
我们写程序,难免会有问题(是经常会遇到问题 ),而PHP遇到错误时,就会给出出错脚本的位置、行数和原因。有很多人说,这并没有什么大不了。确实,在调试程序阶段,这确实是没啥的,而且我认为给出错误路径是
在我的类构造函数中,我有以下内容: set_error_handler(array( $this, '_custom_error_handler' )); 在同一个类中,我定义了以下方
我无法解决出了什么问题。 以下总是导致输出“无法设置错误处理程序”:
根据我对 PHP 文档的理解,设置自定义错误处理程序(无法捕获所有错误)会停用默认的 php 错误处理程序(我猜它可以捕获所有错误:)。 如果这是正确的,是否有设置自定义错误处理程序的目的?我总是保留
我创建了一些帮助程序来捕获任何 PPH 错误,然后发送一个 curl 帖子,这将使用我的错误跟踪软件创建一个票证。 但我无法让它与 Codeigniter 一起工作。这是我的代码: 'Error',
我正在尝试在我的页面类中使用它。我才刚刚开始在 PHP 中使用对象,所以我仍然有点无能为力(但尽可能多地学习)。这是在我的 page() 函数中(当有一个新的页面实例时调用) set_error_ha
我考虑使用 PHP 中的 set_error_handler() 功能在一个地方处理大部分 PHP 错误(将它们记录到文件中)。从文档看来,如果我可以将函数名称传递给 set_error_handle
我对如何正确使用 set_error_handler() 以及 php documentation 感到困惑并没有真正帮助澄清。 我希望它通过电子邮件向我发送尽可能多的错误,但通知除外。 我有以下代码
如果我在同一个脚本中定义了以下内容: register_shutdown_function('handlerOne'); set_error_handler('handlerTwo'); 是否有任何错
function errHandle($errNo, $errStr, $errFile, $errLine, $xmlArray) { $msg = "$errStr in $errFile
function errHandle($errNo, $errStr, $errFile, $errLine, $xmlArray) { $msg = "$errStr in $errFile
根据PHP Manual :内部 PHP 函数主要使用错误报告,只有现代面向对象的扩展使用异常。但是,错误可以通过 ErrorException 简单地转换为异常 ErrorException中提供的
我有一个简单的自定义错误处理程序,它在错误日志文件中写入一些有用的调试信息。 它适用于所有情况,但不会因 fatal error 而被触发。 有什么办法可以解决吗? 目前为了绕过这种情况,我也注册了一
在 PHP5 上,同时定义 set_exception_handler() 和 set_error_handler() 非常有意义。 但是,在 PHP7 上,所有(大多数?)错误现在都是异常。那么,如
我是一名优秀的程序员,十分优秀!