PHP第五天 错误机制

    xiaoxiao2022-07-07  167

    错误处理

     

    错误分类

    语法错误:

    程序不能运行,是在运行之前,检查语法的时候,就发现语法出错,结果是提示错误,不运行程序。

     

    运行时错误:

    语法检查没错,然后开始运行,在运行中出现了错误,然后报错。

    这是开发中最常见的错误。

     

    逻辑错误:

    程序能运行,且一直到结束没有报错,但执行得到的结果却是错的。

     

     

    常见错误代号(重点)

    含义:

    是指在程序运行时,发生的错误,系统会针对每种错误,给出相应的错误代号,并进行提示(报错)。

    另外,程序如果在运行之前检查语法的时候就发现语法错误,也会报错,也有一个错误代号。

     

    常见错误代号有:

    E_NOTICE:

    提示性错误,轻微;

    错误发生后,后面的程序继续执行。

    E_WARNING:

    警告性错误,稍微严重;

    错误发生后,后面的程序继续执行。

    E_ERROR:

    严重错误/致命错误;

    错误发生后,后面的程序不再执行!

    E_PARSE:

    语法错误(语法解析错误);

    语法解释错误,是直接就不运行程序。

    E_USER_NOTICE:

    用户自定义的提示错误

    E_USER_WARNING:

    用户自定义的警告错误

    E_USER_ERROR:

    用户自定义的严重错误

    E_ALL:

    它是一个代表“所有”错误的代号。

     

    说明:

    1,这些错误代号,其实只是系统预先设定的一些常量,他们的值大约是:1, 2, 4, 8, 16.....

    2,这些错误代号,通常只是用于对错误控制时进行“设置”使用。

    3,他们是一系列的整数,并具有一定的规律:1,2,4,8,16,32,64, 。。。。

    4,可以在php.ini中使用(设置)他们,如下所示:

    错误触发

    就是发生了一个错误的意思——即触发了错误。

    有两种情形会触发错误:

    1,程序本身有错,则运行时就会触发错误(并提示)。

    2,程序本身没错,但出现不符合预计的情形(比如数据不符合要求)。

    此时程序员可以主动触发一个错误,也可以说是由程序员“主动创建一个错误”

    ——这就是“用户错误”,包括:

    E_USER_NOTICE:

    E_USER_WARNING:

    E_USER_ERROR:

    如何触发“用户错误”呢?

     

    自定义错误触发语法:

    trigger_error(“自定义错误提示内容”,  自定义错误的代号);

     

    案例演示:

    输入一个年龄(简化为变量值),如果年龄超过60或小于0,就触发一个notice错误!

    <?php $age = 18; function baoxina($a) { if($a<0 || $a>60) { // tigger_error('自定义的错误',E_USER_NOTICE) trigger_error('你太大了不接收',E_USER_NOTICE); }else{ return '接收您的保单!'; } } echo baoxina($age); baoxina(62);

     

    最新回复(0)