欢迎来到天天文库
浏览记录
ID:38676367
大小:3.00 MB
页数:25页
时间:2019-06-17
《PHP面向对象中的异常处理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PHP面向对象中的异常处理23目录一、PHP中的错误信息11.PHP.ini中配置错误消息12.Php中错误消息处理13.Php代码中调整错误级别24.自定义错误处理2二、PHP5中的SPL模块31.什么是SPL32.Spl.php中的异常处理类43.Spl.php中的其他异常类5三、PHP5异常捕获71.异常实例73.在代码中捕获异常94.在代码中捕获异常(2)105.一个catch块处理多种异常116.多个catch块处理异常127.异常处理块嵌套148.异常向外抛出15四、PHP自定义异常161.自定义异常16五、异常处理实例161.验证实例162.验证实例代
2、码18六、小结2323PHP面向对象中的异常处理一、PHP中的错误信息1.PHP.ini中配置错误消息在PHP4中,没有exception这个概念,只有错误error。我们可以通过修改PHP.ini文件来配置用户端输出的错误信息。在PHP.ini中,一个分号;表示注释。Php.ini将能够显示的错误类型分为如下种类。;E_ALL–所有的错误和警告(不包括E_STRICT);E_ERROR-致命的运行错误;E_RECOBERABLE_ERROR–可由异常处理机制所捕捉(catch/hadle)的错误;E_WRNING-运行时的警告(非致命错误);E_PARSE-编译时
3、解析错误;E_NOTICE-运行时的提示,这些提示常常是代码中的bug引起的,也许是故意的(如使用一个未初始化的变量,事实上它被自动初始化成一个空字符串)。;E_STRICT-运行时提示,能够用于PHP建议,以改变你的代码,以获得最好的协同性,并完善代码的兼容性。;E_CORE_ERROR-PHP初始化启动过程中的致命错误。;E_CORE_WARRNING-PHP初始化启动过程中的非致命错误。;E_COMPILE_ERROR-致命的编译错误。;E_COMPILE_WARRNING-编译错误(非致命的错误)。;E_USER_ERROR-用户错误信息。;E_USER_W
4、ARRNING-用户警告信息。;E_USER_NOTICE-用户提示信息。在PHP.ini中error_reporting控制输出到用户端的消息种类。以下几种是php.ini中推荐的几种配置。Error_reporting=E_ALL//表示输出所有的信息。Error_reporting=E_ALL&~E_NOTICE//表示输出所有的错误,除了提示。Error_reporting=E_COMPILE_ERROR
5、E_RECOVERABLE_ERROR
6、E_ERROR
7、E_CORE_ERROR//表示输出所有的ERROR信息。在php.ini中,display_er
8、rors可以设置是否将以上设置的错误信息输出到用户端。Display_errors=On输出到用户端(调试代码时候,打开这项更方便)Display_errors=OFF消息将不会输出到用户端(最终发布给用户时记得改成off)2.Php中错误消息处理在php中,对于错误处理非常的宽松。Php系统会尽量让程序运行下去,除非遇到致命错误。例5-2-1.PHP23第5行,直接打印一个未赋值变量$t时候,系统报出一个notice,未定义变量。第7行,做除以0的运算时,系统报出一个warning,提示有除以0这样的警告,程序依然在运行。第9行,当实例化一个不存在的泪的时候,发生
9、致命错误,程序终止运行。3.Php代码中调整错误级别除了在php.ini文件中可以调整错误消息的显示级别外,在php代码中也可以自定义消息显示的级别。Php提供了一个方便的调整函数。Interror_reporting([intlevel])使用这个函数可以定义当前php页面中错误消息的显示级别。参数level使用了二进制掩码组合的方式。4.自定义错误处理在php中,可以自定义对错误处理的方式。首先要自定义一个错误处理函数,然后使用set_error_hadler()函数向系统声明错误处理函数。代码中产生的错误就会使用这个错误处理函数了。使用trigger_erro
10、r()函数,可以触发一个error。例如trigger_error(“ageyouinpurmust>=0”,E_USER_ERROR),触发自己的错误信息。23二、PHP5中的SPL模块1.什么是SPL在PHP5中有一个独特的部分SPL–StandardPHPLibraryModules(PHP标准库)在SPL文档中这样说明的:SPL–PHP标准库是用来解决标准问题并实现一些高效数据访问的借口和类的集合。你会发现这些类用PHP代码编写在sql.php文件中,或在对应例子、内核的.inc文件中。基于这些内核的实现或在示例目录下的,也是一些.php文件。在SPL中
此文档下载收益归作者所有