版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第17章 异常处理与调试,经过第15、16章的实例操作,读者可以从需求分析、数据库开发、代码编写等方面,大体了解项目开发的具体流程。 在项目开发中,最经常遇到的问题就是编写的代码出现错误,当代码运行出现错误时,就需要开发人员对其进行调试。为了开发也健状的代码,开发人员在编写代码时,还需要注意对代码进行优化。本章主要介绍在开发过程中,对PHP程序的异常处理、调试与优化。,17.1 异常处理函数,在项目开发时,编写的代码难免不出现错误,这时就需要使用异常处理函数,来处理这些可能发生的错误,以防止代码安全等问题的产生。本节将介绍异常处理函数,以及使用方法。,17.1.1 程序运行过程描述,在程序运行
2、出现异常时,可以使用debug_backtrace()函数,查看程序的运行过程,或是使用debug_print_backtrace()函数,显示脚本中函数、包含文件的运行过程。下面演示这两个函数的使用方法,代码如清单所示。,17.1.2 返回最后的错误信息,使用error_get_last()函数,可以以数组的方式,返回最后一次的错误信息的详细信息。下面演示error_get_last()函数的使用方法,代码如清单所示。,17.1.3 设置显示错误信息的级别,使用error_reporting()函数,可以设置显示错误的级别。下面演示error_reporting()函数的使用方法,代码如清单
3、所示。,17.2 异常处理,在本章的17.1节中,介绍了简单的与异常处理有关函数。本节将介绍如何使用PHP的异常处理类,来处理代码运行时,可能出现的异常情况。,17.2.1 异常处理类的使用,PHP可以使用try语句实现脚本异常处理,下面演示异常处理的使用方法,,17.2.2 扩展异常处理类,通过17.2.1小节的介绍,读者大致可以了解异常处理的方法,但是异常处理类的具体方法,了解的并不是很详细,下面列出Exception类的结构,供读者参考,代码如清单所示。,17.3 PHP的调试方法,在第17.1、17.2节中,介绍的异常处理函数、异常处理类,都是用于处理或预处理已知的异常信息。在程序开发
4、过程中,有许多代码错误,都是在进行系统测试时才能获取到。开发人员可以通过代码运行时产生的错误报告,来确定需要修改的代码,或使用工具进行代码调试。,17.3.1 错误报告,错误报告是一把双刃剑,被非法用户利用后,可以用来破坏系统,但是对于开发人员来说,去是调试程序的好工具,当代码运行错误时,可以第一时间通过错误报告来查看出错的代码文件、错误行信息,以及详细的错误内容。 在程序开发阶段,为了方便开发人员调试程序,可以打开PHP的错误报告功能,但是当程序开发完成后,关闭PHP的错误报告功能是最好的选择,这样不仅可以防止用户因为程序运行错误,而看到错误报告,也可以防止非法用户利用错误信息攻击系统。 影
5、响PHP错误报告的设置,都可以在PHP的配置文件中找到,下面分步骤介绍修改这两处设置的方法。,17.3.2 定位错误代码,PHP的错误报告,可以帮助开发人员解决大部分的代码错误,但是对于程序运行时产生的逻辑错误就无能为力了,本小节将介绍如何使用显示函数调试代码中的逻辑错误。 开发人员在编写代码时,由于代码输入失误,或是程序逻辑不严谨,都可能产生逻辑错误,PHP错误报告只是显示这些错误产生的结果,并不会显示产生错误的原因。下面演示一个具有这种错误的函数,代码如清单所示。,17.4 常见问题,本章主要介绍了PHP的程序异常处理、调试的相关内容。本节将列出关于PHP代码调试时容易出现的问题,以及解决
6、方法,供读者参考。,17.4.1 关于错误报告,错误报告在调试程序时,是一个重要的依据,本章介绍了两种方式来控制错误报告的设置。 在程序开发阶段,建议打开此设置,有利用开发人员进行程序测试时,找到产生错误的原因。在用户使用阶段,建议关闭此设置,一是出于美观的考虑,关闭此项后,如果程序出现错误,也不会显示给用户莫名其妙的字符。二是出于安全方面的考虑,如果错误报告被非法用户利用,对于系统是非常不安全的。 如果在实际应用中,用户的服务器开启了此设置,为了避免用户读到错误信息,也可以使用ini_set()函数,在文件头关闭错误报告功能。,17.4.2 调试信息,前面介绍了使用显示函数进行程序调试的方法,这种方法的优点很多,不但可以定位错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高中秋季开学防踩踏安全教育
- 宜春市上高县2027届数学四上期末监测模拟试题含解析
- 厨房安全考试测试卷及答案
- T-BBIA 002-2020 北京市电动自行车销售门店经营规范
- 2026南非咖啡种植行业气候适应市场需求分析投资评估规划报告
- 2026中国医药制造商行业市场供需分析及投资评估规划分析研究报告
- 2026中国石墨烯导热材料商业化应用与消费电子需求报告
- 2026汽车行业新能源汽车及自动驾驶与行业发展趋势研究报告
- 2026中国智能交通智能化行业市场供需分析及投资评估规划分析研究报告
- 2026中国极限运动安全设备风险控制与责任保险机制研究报告
- 2026年比亚迪网申在线测试题及答案
- 乐平市市属国资控股集团有限公司面向社会公开招聘人员【15人】笔试历年常考点试题专练附带答案详解
- 医疗器械质量意识培训资料
- 2026年中医内科临床诊疗指南-尘肺病
- 会展策划书案例
- 2025ACP临床指南:门诊预防发作性偏头痛的药物治疗解读课件
- 2025年“机器人+人工智能”工业应用研究报告
- 灭菌锅安全操作培训课件
- 直播劳动合同(标准版)
- 晶胞中微粒数目及晶体化学式的确定(含解析)-2026届高中化学一轮复习讲义
- 基于风险理论的新能源消纳分析:模型构建与实证洞察
评论
0/150
提交评论