---恢复内容开始---
首先错误和异常时不同的两个概念
常见错误:
语法错误 缺少分号等等
环境错误 数据库出错 打开文件失败
逻辑错误 本来要判断
错误级别 在php当中有很多的错误界别这里只列出常见的
Deprecated 最低级别的错误
Notice通知级别的错误
Warning警告级别的错误 参数个数 参数类型 出错可能导致
Fatal error致命级别的错误
parse error 语法解析错误
E_USER_相关的错误
//注意一点在这里已经不建议使用ereg函数了 if(ereg('love', 'I am your father love me !',$mechase)){ vp($mechase); }else{ p('找不到相关的匹配项'); }
settype($key,'int');//设置不存在的变为整型 p($key);//打印为0 settype($king,'king');//设置为不存在的变量类型导致出现警告 不会改变原来的类型 p($key);
p($king); p("程序继续向下执行");
通知级别错误
$arr = array('age'=>21); p($arr[age]);//在这里引擎先将其当成常量去解析 找不到再当中字符串处理取出里边的值
致命级别的错误 程序无法向下继续执行
p(md6('hello')); p('继续执行');
---恢复内容结束---
首先错误和异常时不同的两个概念
常见错误:
语法错误 缺少分号等等
环境错误 数据库出错 打开文件失败
逻辑错误 本来要判断
错误级别 在php当中有很多的错误界别这里只列出常见的
Deprecated 最低级别的错误
Notice通知级别的错误
Warning警告级别的错误 参数个数 参数类型 出错可能导致
Fatal error致命级别的错误
parse error 语法解析错误
E_USER_相关的错误
//注意一点在这里已经不建议使用ereg函数了 if(ereg('love', 'I am your father love me !',$mechase)){ vp($mechase); }else{ p('找不到相关的匹配项'); }
settype($key,'int');//设置不存在的变为整型 p($key);//打印为0 settype($king,'king');//设置为不存在的变量类型导致出现警告 不会改变原来的类型 p($key);
p($king); p("程序继续向下执行");
通知级别错误
$arr = array('age'=>21); p($arr[age]);//在这里引擎先将其当成常量去解析 找不到再当中字符串处理取出里边的值
致命级别的错误 程序无法向下继续执行
p(md6('hello')); p('继续执行');
E_USER_相关的错误这个是用户自定义的错误
php配置文件中与错误相关的选项
以上的错误级别可以在php.ini文件当中设置
而且设置的报错级别业可以在里边找
设置显示排除了警告错误所有错误信息
php当中设置错误级别
error_reporting()函数动态设置错误
//显示所有错误 //error_reporting(E_ALL&~E_NOTICE); //error_reporting(0);//不显示错误 error_reporting(0); imooc(); p(error_reporting());//返回错误级别的 settype($key,'king');
error_reportng(-1);//不显示错误
ini_set('error_reporting',0);//运行时设置错误信息 不显示错误
ini_set('display_errors',0);//不显示错误
则就是为什么在不同环境当中显示的错误不一样这个配置的参数不同
抑制错误字符
error_reporting(-1);//显示所有错误 @settype($king,'sdf'); //注意这个会影响到php程序的性能
trigger_error()//触发错误
if(!is_numeric('asd')){ trigger_error('这不是一个正确的数字',E_USER_NOTICE);//用户指定的警告级别 p('同时程序继续执行'); //另外还有E_USER_WARNING 和 E_USER_ERROR后边的为致命错误 导致程序无法继续向下执行 }
更多可以看慕课网老师怎么讲的https://www.imooc.com/video/7375