如果用 set_error_handler() 设定了自定义的错误处理函数,即使诊断信息被抑制,也仍然会被调用。
警告
PHP 8.0.0 之前,如果错误被 @ 运算符抑制,则在自定义错误处理程序中调用 error_reporting() 将始终返回 0。PHP 8.0.0 起,返回值为 E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR | E_PARSE。
error_get_last() 返回数组中的 “message” 元素储存了表达式产生的任意错误信息。 此函数的返回结果会随着每次错误的发生而相应变化,所以需要尽早检查。
注意: @ 运算符只对 表达式 有效。 对新手来说一个简单的规则就是:如果能从某处获得值,就能在它前面加上 @ 运算符。例