教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

零点起飞学PHP之错误处理

来源:网络收集 时间:2026-03-01
导读: 零点起飞学PHP之 第7章 错误处理 错误在编程的过程中通常是无法避免的。我们在前面 的学习过程中也碰到了多处错误。PHP系统可以帮助 我们就提示以及修正一些错误。我们也可以自己定义 一些抛出和处理错误方法。本章将详细讲解错误发送 的原因和种类以及处理

零点起飞学PHP之

第7章 错误处理 错误在编程的过程中通常是无法避免的。我们在前面 的学习过程中也碰到了多处错误。PHP系统可以帮助 我们就提示以及修正一些错误。我们也可以自己定义 一些抛出和处理错误方法。本章将详细讲解错误发送 的原因和种类以及处理这些错误的方法。

零点起飞学PHP之

7.1 错误发生的原因 错误发生的原因有多种,他们按照特点可以分为大的 四类,分别是语法错误、环境错误、逻辑错误和运行 时错误。本节就来介绍这些错误。

零点起飞学PHP之

7.1.1 语法错误 语法错误是最普遍也是最好解决的一类错误。顾名思 义,语法错误就是由于程序员在程序编写的过程中使 用了不能被PHP解析的错误语法。下面就来介绍一些 常见的语法错误。

零点起飞学PHP之

1.语句未正确结束 这类错误通常是一条语句缺少了语句结束符号——分 号。这类错误通常根据错误提示即可找到大概的位置 并修正。

零点起飞学PHP之

1.语句未正确结束 【示例7-1】演示语句未正确结束的错误。 从运行结果我们可以看出程序在运行后报错,提示在 代码第三行遇到了意料之外的“echo”,而真正的原 因是我们在代码的第2行没有正确地结束。解决办法就 是在第2行加入结束符即可,修正后的代码如下: 01 <?php 02 $num=10; 03 echo $num; 04 ?>

零点起飞学PHP之

2.括号不匹配 括号不匹配通常出现在多层嵌套和判断条件比较长的代码中。 【示例7-2】演示括号不匹配的错误。 从运行后的错误提示我们可以看到代码中第2行出现了不期望的 “{”,其实我们的错误是在if后多了一个“(”。修正后的代码 如下: 01 <?php 02 if(($a&&$b)||($b&&$c)){ 03 return 0; 04 } 05 ?> 这种错误通常可以通过编写代码时输入成对的括号后再在括号中 加入代码避免。

零点起飞学PHP之

2.括号不匹配 【示例7-3】演示花括号不匹配的错误。 从运行后的错误提示我们可以看出,代码第3行中出现了不 期望的“public”,而期望的是“{”,我们只需根据提示 在第2行代码后加入“{”即可。修正后的代码如下: 01 <?php 02 class car{ 03 public function test(){ 04 return 'test function.'; 05 } 06 } 07 ?>

零点起飞学PHP之

3.错误的关键字 这种错误在没有关键字提示的编辑器中出现很频繁, 而且错误的提示也常常会使人摸不着头脑。

零点起飞学PHP之

3.错误的关键字 【示例7-4】演示拼写错误的关键字引发的错误。 运行结果提示我们有不期望的“test”,而真正的原因是 “fucntion”拼写错误,初次遇到这种提示有时候会使人很 费解。修正后的代码如下: 01 <?php 02 function test(){ 03 return '这是一个测试函数。'; 04 } 05 ?> 语法错误的种类还有很多,这里就不再一一例举。

零点起飞学PHP之

7.1

.2 环境错误 环境错误通常是指PHP运行的环境和相关服务关联的 问题,例如PHP程序需要使用的相关模块没有被正确 加载、服务器没有启动、数据库配置错误等等。由于 我们使用的是集成开发环境,因此这些问题出现的概 率是比较小的,集成环境的制作者已经替我们做了大 量的工作。但是如果是初次自己搭建一个环境来运行, 通常情况下会非常的吃力。环境错误所涉及的编程语 言之外的知识比较多,因此本书我们不做详细讲解。

零点起飞学PHP之

7.1.3 逻辑错误 逻辑错误要比我们前面介绍的两种错误要隐蔽。逻辑 错误的代码在运行时不会出现明显的错误提示,但是 其运行的结果却并不是我们所期望的。

零点起飞学PHP之

7.1.3 逻辑错误 【示例7-5】演示有逻辑错误的代码。 从运行结果我们可以看出,程序没报出任何的错误, 而且单从运行结果来看也找不出任何的错误。但是仔 细看程序代码中的第14、15行调用函数时候传入的参 数,然后再对照运行结果来看,就会发现我们期望比 较的是25和30、1和99的大小,但是结果却成为了30和 30、99和99来比较大小。而代码的错误就是第5行中我 们将比较运算符(==)写成了赋值运算符(=)。修 正代码的后运行结果如图7.6所示。 这种错误往往就需要靠经验和使用工具来修正了。

零点起飞学PHP之

7.1.4 运行时错误 运行时错误是在程序运行过程中出现的。有这种错误 的代码往往在语法上没有任何错误,这种错误出现的 情况一般是不能正确地使用到资源。例如,要打开的 文件不存在或者没有操作的权限、连接数据库的账号 或者密码错误等等。这种错误还是比较容易解决的, 例如可以在读取文件之前首先检查文件是否存在等措 施。

零点起飞学PHP之

7.2 错误的分类 PHP中的错误分为标准错误和异常,下面就来介绍标 准错误和异常。

零点起飞学PHP之

7.2.1 预定义错误常量 PHP中定义了一些预定义的错误常量来表示需要采取 动作的错误等级,详细的内容如表所示。

零点起飞学PHP之

值 1 2 4 8 16 32 64 128

常量 E_ERROR E_WARNING E_PARSE E_NOTICE E_CORE_ERROR E_CORE_WARNING E_COMPILE_ERROR E_COMPILE_WARNING

256512 1024 2048 4096

E_USER_ERRORE_USER_WARNING E_USER_NOTICE E_STRICT E_RECOVERABLE_ERROR

819216384 30719

E_DEPRECATEDE_USER_DEPRECATED E_ALL

说明 致命的运行时错误。这类错误一般 是不可恢复的情况,后果是导致脚 本终止不再继续运行 运行时警告(非致命错误)。仅给出 提示信息,但是脚本不会终止运行 编译时语法解析错误 运行时通知。表示脚本遇到可能会 表现为错误的情况,但是在可以正 常运行的脚本里面也可能会有类似 的通知 在PHP初始化启动过程中发生的致 命错误 PHP初始化启动过程中发生的警告 (非致命错误) 致命编译

时错误 编译时警告(非致命错误) 用户产生的错误信息。由用户自己 在代码中使用PHP函数 trigger_error()来产生的 用户产生的警告信息。由用户自己 在代码中使用PHP函数 trigger_error()来产生的 用户产生的通知信息。由用户自己 在代码中使用PHP函数 trigger_error()来产生的 启用PHP对代码的修改建议,以确 保代码具有最佳的互操作性和向前 兼容性 可被捕捉的致命错误。它表示发生 了一个可能非常危险的错误,但是 还没有导致PHP引擎处于不稳定的 状态 运行时通知。启用后将会对在未来 版本中可能无法正常工作的代码给 出警告 用户产生的警告信息。由用户自己 在代码中使用PHP函数 trigger_error()来产生的 E_STRICT除外的所有错误和警告 信息

…… 此处隐藏:1507字,全部文档内容请下载后查看。喜欢就下载吧 ……
零点起飞学PHP之错误处理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1714915.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)