欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP错误处理

程序员文章站 2022-06-07 17:46:21
...

PHP错误处理

PHP错误处理

错误的分类:

语法错误:程序没法运行,直接提示语法错误

运行时错误:只有程序运行到某行,或在某此特定的情形下运行才会发生的错误。

逻辑错误:程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的。

程序员主要面对的和要处理的错误,就是运行时错误。

错误的分级:

在php中,将各种错误,分门别类,依据不同的严重程序和产生的来源(机制),将各种错误分为大约十几个级别。

每个级别的错误,都对应一个内部的名称--系统常量!

系统错误:

E_ERROR 系统严重错误 (一发生,程序立即停止执行。该错误一般希望马上解决)

E_WARNING 系统警告 (一发生,提示错误,并继续执行。通常该错误希望能够在“下一工作日”去处理掉)

E_PARSE 语法错误 (一发生,提示错误,而且代码完全不会运行--在运行之前先检查语法。)

E_NOTICE 系统提示 (一发生,提示错误,并继续执行。发个邮件通知下,自己安排时间有空去解决。)

它们的本质是什么呢?

echo "
E_ERROR = ".E_ERROR;

echo "
E_WARNING = ".E_WARNING;

echo "
E_PARSE = ".E_PARSE;

echo "
E_NOTICE = ".E_NOTICE;

输出的结果分别为:

E_ERROR = 1

E_WARNING = 2

E_PARSE = 4

E_NOTICE = 8

可见它们只是一个系统内部的常量(整数常量);实际上,这些常量(代号)是供我们对该类错误进行“控制”的标示符而已。

用户自定义错误:

只有三个:

E_USER_ERROR

E_USER_WARNING

E_USER_NOTICE

我们可以在程序中,自己创建(生成)错误 -- 是为了针对某些数据的不合理情形而创建的错误

比如:让用户填写年龄,填18是OK,但填写188,则就是不合理 -- 从数字角度本身是没有问题的

其它错误:

E_ALL 代表所有错误 -- 表示它可以“包括”所有错误。

E_STRICT 代表“严格性”语法检查错误 -- 某种语法是可以执行的,但在当前的php版本是不欢迎使用。