我需要一个函数,可以抑制给定函数上的任何错误。
例如:
index.php
<?php
DeleteDirectory('my_dir'); // my_dir does not exist, so a Warning will trigger
SuppressError(DeleteDirectory('my_dir')); // my_dir does not exist, but no warning will be triggerd
?>
SuppressError.php
<?php
function SuppressError($function) {
error_reporting(0);
if ($function) {
$function;
} else {
return (bool) 0;
}
}
?>
因此SuppressError()基本上执行error_reporting(0)并调用给定的函数。
但是,这里不是这种情况。这里发生的是该函数被调用,但是忽略了error_reporting(0),从而给出了与我没有通过SuppressError()调用它相同的旧错误。