Pass Parameter to the function called in set
function errHandle($errNo, $errStr, $errFile, $errLine, $xmlArray) {
$msg = "$errStr in $errFile on line $errLine";
if ($errNo == E_NOTICE || $errNo == E_WARNING) {
throw new ErrorException($msg, $errNo);
} else {
echo $msg;
echo '<pre>';
print_r($xmlArray);
}
}
foreach($returnValues as $xmlArray){
....
....
set_error_handler(array($xmlArray, 'errHandle'));
}
Can i pass the array as parameter to errHandle function.
it is showing the Error: set_error_handler() expects the argument (SimpleXMLElement::errHandle) to be a valid callback in ...
Whole intention is to check, if there is a error in the iteration, then display that array to see the array contents in the function errHandle
You can not do that directly, since there are strict rules for user-defined handler of errors. If you are defining error handler, you can rely on context from it - that context will be passed as the last parameter and will contain current scope (ie scope, from which error was triggered). Here's an example:
function errHandle($errNo, $errStr, $errFile, $errLine, $errContext) {
$msg = "$errStr in $errFile on line $errLine";
if ($errNo == E_NOTICE || $errNo == E_WARNING) {
throw new ErrorException($msg, $errNo);
} else {
echo $msg;
echo '<pre>';
print_r($errContext);
}
}
$xmlArray=['foo'=>'bar'];
set_error_handler('errHandle');
trigger_error('test', E_USER_WARNING);
you will be able to access $xmlArray
from your parameter $errContext
via corresponding key (ie 'xmlArray'
). For more information see manual page.
尝试这个
set_error_handler(array($this, 'customErrorHandler'));
For custom error message I have found good article below,
http://mydons.com/how-to-create-error-messages-like-codeigniter-drupal-and-custom-type-with-php/
链接地址: http://www.djcxy.com/p/58916.html上一篇: 在C中设置errno值
下一篇: 将参数传递给set中调用的函数