博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP入门10 - PHP的错误与异常处理
阅读量:5209 次
发布时间:2019-06-14

本文共 1953 字,大约阅读时间需要 6 分钟。

一、PHP错误的等级

 二、调整错误报告的级别

  1、通过脚本文件,查找 display_errors:是否开启,默认值为:ON(默认输出错误报告),调整则改成:E_ALL 或 E_ALL & ~E_NOTICE;

  2、可以在PHP脚本中修改 error_reporting(E_ALL)或 error_reporting(E_ALL & E_NOTICE);

三、自定错误报告方式

  1、自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样就可以按自己定义的格式打印错误报告,或改变错误报告打印的位置,以下几种情况可以考虑自定义错误处理。

  2、可以记下错误的信息,及时发现一些生产环境出现的问题;

  3、可以屏蔽错误。 可以控制错误的输出。 可以作为调试工具。

  4、使用set_error_handler()函数来设置用户自定义错误处理。

错误信息:{
$error_message}
错误文件:{
$error_file}
错误在第几行:{
$error_line}"; } gettype($a); echo "1111111111111111
"; echo "2222222222222222
"; echo $mess; /* 输出信息: 1111111111111111 2222222222222222 错误级别:8 错误信息:Undefined variable: a 错误文件:D:\WampServer\wamp64\www\php10.1.2_error_message.calss.php 错误在第几行:18 */

四、记录错误日志

  1、先配置php.ini 文件

    error_reporting = E_ALL // 将向PHP发送每个错误

    display_errors = OFF //不显示错误报告

      设置:ini_set("display_errors", OFF);

      获取:ini_get();

    log_errors = On // 决定日志语句记录的位置

    log_errors_max_log = 1024 //每个日志项的最大长度

    error_log = //制定错误写入的文件

    error_log = syslog  //系统日志

五、PHP异常处理:利用 try {}catch{},

  异常(Exception)处理用于在指定的错误发生时改变脚本的正常流程。是PHP5中的一个新的重要特性。异常处理是一种可扩展、易维护的错误处理统一机制,并提供了一种新的面向对象的错误处理方式。

  异常处理格式:

      try{               使用try去包含可能会发生异常的代码.             一旦出现异常try进行捕获异常,交给catch处理。             抛出异常语句:throw 异常对象。          }catch(异常对象参数){             在这里做异常处理。          }[catch(。,,){             .. .. ..          }]

  1、try catch是一体的;

  2、try catch之间不能有任何代码

  3、工作原理:   

    1. 试着执行try中的代码, 如果没有问题, 继续执行catch之后的代码

    2. Exception 是系统的类
    3. 如果有异常对象抛出, 就将异常对象给 catch()中的类
    4. try中发生异常位置后的代码不再执行, 而是直接到catch中, catch中执行完成以后, 再继续执行catch之后的代码

";try{ echo "开车上班
"; //抛出异常 throw new Exception("车子爆胎了"); echo "路况很好
";} catch(Exception $e) { // Exception $e = new Exception(''); echo $e->getMessage()."
";//getMessage() 获取异常信息
echo "换上备胎,继续开车上班
"; } echo "到公司开始工作
";

 

转载于:https://www.cnblogs.com/patriot/p/8973655.html

你可能感兴趣的文章
Python命名规范
查看>>
50款漂亮的国外婚礼邀请函设计(上篇)
查看>>
MD5加密简单算法
查看>>
安装Qcreator2.5 + Qt4.8.2 + MinGW_gcc_4.4 (win7环境)
查看>>
代码检查
查看>>
滚动条
查看>>
程序员的自我修养九Windows下的动态链接
查看>>
记一次修改数据库引擎的方法
查看>>
开发工具 idea 激活方法
查看>>
BZOJ 4052: [Cerc2013]Magical GCD
查看>>
libevent和libcurl的一些学习
查看>>
iOS的横屏(Landscape)与竖屏(Portrait)InterfaceOrientation
查看>>
JS中 window的用法
查看>>
Codeforces Round #361 (Div. 2)
查看>>
oauth2学习
查看>>
Python time & datetime & string 相互转换
查看>>
细说WebSocket - Node篇
查看>>
【pwnable.kr】 flag
查看>>
1014 装箱问题——http://codevs.cn/problem/1014/
查看>>
poj 3177 边双联通 **
查看>>