被载入文件中return语句的作用
一个载入语句,如果载入成功,其实有返回值的,为1,如果载入失败,则,返回值为false
但,如果被载入文件中有return语句,则此时就有另外的机制和作用:
1.return语句此时的作用是终止载入过程——该return语句的后续被载入文件 的代码不再载入。(函数中的return不会)
2.Return语句也可以用于该被载入文件在入市返回一个数据,形式为:
return xx数据;
错误处理
错误分类
通常分3类:
语法错误:
程序运行之前,都要先检查语法,如果有错误,就会立即报错,并且不执行程序
运行时错误:
就是在程序语法检查通过后,开始运行程序,并在此过程中遇到的错误。常见3 种:
提示性错误
警告错误:
致命错误:
逻辑错误:
指的是,程序本身可以执行,没有报错——但“计算结果”却错误了。
错误分级
PHP语言中,将各种错误进行了不同级别的分类归纳,兵形成大约有10几个级别的错误,这就是技术层面的错误分级。
每一种级别的错误,都有一个”代号”,这个代号其实也就是系统内部的”常量而已”。比如:
系统常见错误:
E_ERROR 致命错误
E_WARNING 警告性错误
E_NOTICE 提示性错误
用户可自定义的错误:
E_USER_ERROR 自定义致命错误
E_USER_WARNING 自定义警告性错误
E_USER_NOTICE 自定义提示性错误
其他:
E_STRICT 严谨性语法检查错误
E_ALL 代表”所有错误”
错误触发
错误的触发,就是让错误”发生”。
有两纵方式会触发错误:
系统触发
程序运行到某行代码,确实出现了某种错误,此时系统就会报错——这就好似出发了系统错误。系统出发的典型错误有这3种:
E_WARNING 警告性错误
E_NOTICE 提示性错误
E-ERROR:致命性错误 :导致程序无法执行后续语句
比如调用一个不存在的函数。
自定义触发
当我们处理某些数据的时候,本来数据本身时没有是没有错误的,但根据具体应用(业务)
的需求,会要求数据满足某种条件,而该数据并不满足的时候,我们就可以在程序中“主动”去触发(创建)一个错误,以表明该数据的“非法性”。
语法形式:
trigger_error(“错误提示信息内容”,3种用户错误代码之一)
错误报告的显示问题
所谓错误报告,就是显示在网页上的错误提示内容;
有关错误报告,有两个问题需要处理:
是否显示错误报告
有两种做法可以来设定是否显示:
做法一:在php.ini文件中,设定display——erros的值,为on(显示),或为off(不显示)
注意:前提条件是吻门apache已经装载了php.ini文件——这一点,需在apache的配置文件PHPIniDir “php.ini文件的位置(路径)”
做法二:
直接在php的脚本文件中设使用函数ini_set()来对其进行设置:
如果设置为1,就是显示。
注意:
1.不管那种形式,该单词是一样的:display:errors
2.使用php.ini配置,影响的是全局(即所有php网页)
3.在某个脚本代码中使用ini_set(),就只影响该叫本代码本身——这是常用的方式
4.脚本中的设置优先于php.ini配置文件
显示哪些级别的错误报告error_reporting
显然,前提是“display_errors”设置为on(或1),表示可以显示
显示哪些级别的错误报告,也有两个做法:
做法一:
在php.ini文件中,errors_reporting= E_ALL | E_STRICT 这个值目前代表“所有错误”都显示,修改为:errors_reporting= E_NOTICE 此时就只显示E_NOTICE的错误
做法二:在当前的脚本代码中:跟php.ini中设置其实是一样
ini_set(“error_reporting”,E_NOTICE |E_WARNING) 显示2格错误
Ini_set(“error_reporting”,E_ALL |E_STRICT) //这才代表显示所有错误
错误日志的记录问题
错误日志其实就是错误报告,只是他会写入文件中,此时ijiu称为错误日志!
也有两个问题,每个问题也有两种做法:
是否记录log_error:
Php.ini中:
Log_errors =On 或off
脚本中:
Ini_set(“log_errors”,1);或0
补充一句:
Ini_set(“php配置项”,值); //适用于脚本中设置php.ini中的某项值
$v1 = ini_get (“php配置项”); //用于获取php.ini总是某项的值
记录到哪里error_log:
一般就只有2个写法:
写法一:直接使用一个文件名,此时系统会自动在每个文件夹下面都建立该文件名,并用其记录文件夹下的所有网页文件发生的错误信息。
Ini_set(“error_log”,”my_error.txt”); //记录到该文件
写法二:使用一个特殊的名字”syslog”,则此时所有的错误信息都会记录到系统的“日志文件”中
Ini_set(“error_log”,”syslog”); //记录到系统日志中
自定义错误处理器
什么叫错误处理器?
就是一旦发生错误,用来处理该错误的一种机器——其实就是一个函数
自定义错误处理,就是指:
让系统不要去处理错误了,而完全有我们(开发者)来对错误进行处理:显示和记录
做法,其实非常简单,就两步:
第一:设定要用于处理错误的函数名!
Set_error_handler(“f1”);
Function f1(){
//这里可以写任意代码:自然正常失去显示错误报告和记录错误日志
} |
|