手机版

PHP中常见错误和异常处理概述

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

当我们开发程序时,程序出现问题是很常见的。当出现异常和错误时,我们应该怎么做?本文将详细介绍PHP错误和异常处理,并分享给大家参考。下面的话就不多说了,我们来看看详细的介绍:

1.PHP错误处理

1.语法错误

2.运行时错误

3.逻辑错误:没有提示错误,但是功能错误,最麻烦

4.三个级别:通知/警告/致命错误(无法继续执行)

5.错误报告显示:

A.可以在php.ini中修改error_reporting项来限制错误报告类型,比如:error_reporting=E_ALL ~E_NOTICE

B.只修改一个脚本中的错误显示,使用error _ reporting(E _ ALL ~ E _ NOTICE);(推荐)

6.用户定义的错误报告:set_error_handler()可以传入显示错误的预设参数,如下所示:

set _ error _ handler(' report error ');$ mess=函数reportError($error_type,$error_message,$error_file,$ error _ line){ global $ mess;$混乱。='错误级别的类型为{$error_type},错位信息为{$error_message}。在文件{$error_file}中,第{$error_line}行。br ';} GetType($ a);echo ' 1111111brgetType();echo ' 2222brecho $ mess/*错误级别为类型8,错误位置信息为未定义变量: a .在文件f: \项目\框架\框架测试\后端\ regularexpression.php中,第24行。错误级别是类型2,错误位置信息gettype()需要精确的1参数,0给定的是文件f: \项目\框架\框架测试\后端\ regularexpression.php,第26行。*/7.记录错误日志

A.在PHP.ini中将display_errors设置为Off,将log_errors设置为On

B.用户定义的日志目录error _ log=' c :/xx/xx/PHP _ error . log '

C.您也可以使用ini_set('display_errors ',' Off ')或ini_get在脚本中设置它

二、PHP异常处理

1 .试着抓住一个,中间不能有代码

2.异常是系统预定义的一个类

3.如果抛出异常对象,则将异常对象给予catch中的类

4.4.try中异常位置后的代码不会继续执行,而是直接转移到catch中执行

尝试{ echo ' drive to work br抛出新的异常(‘汽车爆胎了!’);}catch(Exception $e){//相当于Exception $ e=new Exception(');echo $e-getMessage()。br ';Echo“换上备胎继续工作br”;}5.异常处理可以与错误处理一起使用

set _ error _ handler(' report error ');函数reporter ($ error _ type,$ error _ message,$ error _ file,$ error _ line){ if($ error _ type==e _ warning){引发新异常('错误消息:{$error_message},错误文件:{$error_file},错误行。} }函数驱动($ a){ echo $ a;}尝试{ echo ' drive to work brdrive();//忘记传递参数,在自定义错误函数中触发警告错误,抛出异常}catch(Exception $e){//相当于Exception $ e=new Exception(');' echo $e-getMessage(),'br ';Echo“换上备胎继续工作br”;}6.自定义异常类

A.异常类是所有异常的基类,没有定义特定的异常处理方法(只有一些方法可以得到提示)

B.用户定义的异常类必须是系统类的子类

C.如果继续异常类并重写构造函数,不要忘记调用父类构造函数进行初始化

类BTException扩展了Exception { function _ _ construct($ message){ parent : _ _ construct($ message);} function method(){ return '打开后备箱,拿出工具,换备胎';}}尝试{ echo ' drive to work br扔新的BTException('车爆胎了!');}catch(BTException $e){//相当于Exception $ e=new Exception(');echo $e-getMessage()。br ';echo $e-method()。br ';Echo“换上备胎继续工作br”;}7.捕获多个异常。注意:try也可以嵌套在try中

类Err1扩展了异常{ function _ _ construct($ message){ parent : _ _ construct($ message);} function method(){ return '纠正错误1';} }类Err2扩展了异常{ function _ _ construct($ message){ parent : _ _ construct($ message);} function method(){ return '纠正错误2';} }类Err3扩展了异常{ function _ _ construct($ message){ parent : _ _ construct($ message);} function method(){ return '纠正错误3';} } $rand=rand(1,3);尝试{ switch($ rand){ case 1: throw new Err1('发生错误1');案例2:抛出新的Err2('发生错误2');案例3:抛出新的Err3('发生错误3');} } catch(Err1 $ e){ echo $ e-Getmessay().br ';echo $e-method().br ';} catch(Err 2 $ e){ echo $ e-Getmessay().br ';echo $e-method().br ';} catch(Err3 $ e){ echo $ e-Getmessay().br ';echo $e-method().br ';}总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

版权声明:PHP中常见错误和异常处理概述是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。