错误处理
一、错误分类
1. 语法错误
一行代码都不执行 最好排除
2. 运行时错误
依赖于数据验证 永远不要相信你的用户
3. 逻辑错误(个人写法毛病错误的if($a=$b))
程序员一辈子的痛 依赖经验
二、错误级别
1. notice 提示 我们不鸟他 但是一般都屏蔽notice
2. warning 警告 @ 需要排除掉
3. error 错误 后续代码不执行
三、屏蔽错误
1. ini_set(‘display_errors’,0);
2. error_reporting(E_ALL ^ E_NOTICE);
四、异常错误
i. 异常对象
new Exception异常处理类 得到对象
ii. 异常处理类
Exception 他是php自动有的一个类 ,你有异常处理那么就有这个类
iii.得到错误信息
打印对象下面的getMessage() 方法得到错误信息
iv. 抛出异常
五、try catch 结构
try{
抛出异常
}catch(){
得到异常
}
注意:throw 类似return 一旦执行后续代码不在被执行
例程:
六、得到异常使用方法
//getMessage() 返回异常信息
//getCode() 返回异常代码
//getFile() 返回异常文件名
//getLine() 返回异常的代码行号
//getTrace() 返回一个数组
//getTraceAsString 将上面的数组变长字符串形式输出
七、多层try catch结构
try{
//throw new HTMLException('页面出现错误');
//throw new DBException('数据库连接失败');
throw new Exception('哈哈哈哈哈哈');
}catch(HTMLException $e){
echo '404 error ';
}catch(DBException $e){
//偷偷记录日志
echo '服务器维护中....';
}catch(Exception $e){
echo '处理漏网之鱼';
}
一层一层筛选!!
八、
一、错误分类
1. 语法错误
一行代码都不执行 最好排除
2. 运行时错误
依赖于数据验证 永远不要相信你的用户
3. 逻辑错误(个人写法毛病错误的if($a=$b))
程序员一辈子的痛 依赖经验
二、错误级别
1. notice 提示 我们不鸟他 但是一般都屏蔽notice
2. warning 警告 @ 需要排除掉
3. error 错误 后续代码不执行
三、屏蔽错误
1. ini_set(‘display_errors’,0);
2. error_reporting(E_ALL ^ E_NOTICE);
四、异常错误
i. 异常对象
new Exception异常处理类 得到对象
ii. 异常处理类
Exception 他是php自动有的一个类 ,你有异常处理那么就有这个类
iii.得到错误信息
打印对象下面的getMessage() 方法得到错误信息
iv. 抛出异常
五、try catch 结构
try{
抛出异常
}catch(){
得到异常
}
注意:throw 类似return 一旦执行后续代码不在被执行
例程:
六、得到异常使用方法
//getMessage() 返回异常信息
//getCode() 返回异常代码
//getFile() 返回异常文件名
//getLine() 返回异常的代码行号
//getTrace() 返回一个数组
//getTraceAsString 将上面的数组变长字符串形式输出
七、多层try catch结构
try{
//throw new HTMLException('页面出现错误');
//throw new DBException('数据库连接失败');
throw new Exception('哈哈哈哈哈哈');
}catch(HTMLException $e){
echo '404 error ';
}catch(DBException $e){
//偷偷记录日志
echo '服务器维护中....';
}catch(Exception $e){
echo '处理漏网之鱼';
}
一层一层筛选!!
八、