您可以使用安装临时错误处理程序
set_error_handler
class ErrorTrap { protected $callback; protected $errors = array(); function __construct($callback) { $this->callback = $callback; } function call() { $result = null; set_error_handler(array($this, 'onError')); try { $result = call_user_func_array($this->callback, func_get_args()); } catch (Exception $ex) { restore_error_handler(); throw $ex; } restore_error_handler(); return $result; } function onError($errno, $errstr, $errfile, $errline) { $this->errors[] = array($errno, $errstr, $errfile, $errline); } function ok() { return count($this->errors) === 0; } function errors() { return $this->errors; }}用法:
// create a DOM document and load the HTML data$xmlDoc = new Domdocument();$caller = new ErrorTrap(array($xmlDoc, 'loadHTML'));// this doesn't dump out any warnings$caller->call($fetchResult);if (!$caller->ok()) { var_dump($caller->errors());}


