您的位置:首页 > 编程语言 > PHP开发

php的错误级别

2015-11-05 18:27 716 查看
deprecated 不赞成使用,可能有漏洞可能效率低,以后的版本不支持等notice  通知级别的错误warning 警告 这个需要看代码是不是哪里出了问题 以上三个程序仍然继续向下执行fatal error 致命错误  程序停止执行parse error 解析错误了 直接挂了 程序停止执行=================================E_USER 级别错误,用户自定义错误;好比,我触发trigger_error()一个E_USER_ERROR级别错误,它就相当于php本身的error错误顺便这里说下,找到php.ini的一个方法,打印出phpinfo();如图:程序里写 非php.iniphp5默认级别是E_ALL & ~E_NOTICE 意思是,除了notice级别的错误,都显示。这在开发模式时是有必要的。
error_reporting(0); //不显示错误error_reporting(-1); // 显示所有错误显示出来:ini_set('display_errors','On');
<?phpfunction myhandler($errorno, $errorstr){switch ($errorno) {case E_USER_ERROR:echo $errorno, ':  ',$errorstr, '<br/>';die;// 如果是这个级别则结束掉break;case E_USER_WARNING:echo $errorno, ': ',$errorstr, '<br/>';break;default:# code...break;}return true;}set_error_handler('myhandler');$a = '0';if (intval($a)<=0){trigger_error('warning level', E_USER_WARNING);}echo 'go on_1';   echo '<br/>';$b = 'hi';if(!is_numeric($b)){trigger_error('not a number', E_USER_ERROR);}echo 'go on_2';  echo '<br/>';
这里可以看下手册中trigger_error()和set_error_handler()的用法。trigger_error()触发E_USER系列的错误。set_error_handler(),可以定义自己的错误。mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )$error_handler的参数 handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )$errorno是错误级别,比如E_USER系列的...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: