2018-12-25 14:42:00 492浏览
今天扣丁学堂PHP培训老师给大家介绍一下关于PHP自定义错误处理的方法分析,首先我们在自定义错误报告的处理方式时,可以完全绕过标准的PHP错误处理函数,这样就可以按照自己定义的格式打印错误报告,或改变错误报告打印的位置(标准PHP的错误报告是哪里发生错误就在发生位置处显示)。以下几种情况可以考虑自定义错误处理。
<?php error_reporting(0); //屏蔽程序中的错误 //定义Error_Handler函数,作为set_error_handler()函数的第一个参数“回调” function error_handler($error_level,$error_message,$file,$line){ $EXIT =FALSE; switch($error_level){ //提醒级别 case E_NOTICE: case E_USER_NOTICE: $error_type = 'Notice'; break; //警告级别 case E_WARNING: case E_USER_WARNING: $error_type='warning'; break; //错误级别 case E_ERROR: case E_USER_ERROR: $error_type='Fatal Error'; $EXIT = TRUE; break; //其他未知错误 default: $error_type='Unknown'; $EXIT = TRUE; break; } //直接打印错误信息,也可以写文件,写数据库,反正错误信息都在这,任你发落 printf("<font color='#FF0000'><b>%s</b></font>:%s in<b>%s</b> on line <b>%d</b><br>\n",$error_type, $error_message, $file, $line); //如果错误影响到程序的正常执行,跳转到友好的错误提示页面 if (TURE==$EXIT){ echo '<script>location = "err.html";</scrpit>'; } } //这个才是关键点,把错误的处理交给error_handle() set_error_handler('error_handler'); //使用未定义的变量要报notice的 echo $novar; //除以0要报警告的 echo 3/0; //自定义一个错误 trigger_error('Trigger a fatal error',E_USER_ERROR); ?>
【关注微信公众号获取更多学习资料】