16.3 PHP中的异常处理类及其用法
PHP5增加了类似于其他语言的异常处理模块。这使得在PHP程序中排查错误、捕获异常更加简便,也使得PHP程序在健壮性方面有很大改善和提高。这一模块在PHP中的具体体现就是,PHP提供了一个名叫Exception的类,来完成对PHP程序异常的处理。这个类包含了一些处理异常的函数,这些函数可以捕获程序异常和错误。本节就为读者介绍PHP中的该异常处理类及类函数用法。
16.3.1 PHP中的异常处理类
PHP5提供了内置的异常处理类——Exception,首先介绍该类的以下成员函数。
❑getMessage(),该函数可以返回对错误的描述信息。
❑getCode(),该函数返回错误代码,以数字形式出现。
❑getFile(),该函数返回发生错误的文件名。
❑getLine(),该函数返回发生错误的代码行号。
❑getTrace(),该函数返回backtrace()数组。
❑getTraceAsString(),该函数返回已格式化成字符串的、由函数getTrace()所产生的信息。
❑__toString(),该函数产生异常的字符串信息,它可以重载。注意,该函数最前部是两个下划线。
代码16-1是该内置异常处理类的完整代码,从这个这个类的定义看出哪些属性和方法(成员函数)在用户派生的子类中是可以访问和继承的。
代码16-1 PHP5内置异常处理类的完整代码16-1.php
01 <?php
02 class Exception
03 {
04 protected$message='Unknown exception';//异常信息
05 protected$code=0;//用户自定义异常代码
06 protected$file;//发生异常的文件名
07 protected$line;//发生异常的代码行号
08
09 function__construct($message=null,$code=0);
10
11 final function getMessage();//返回异常信息
12 final function getCode();//返回异常代码
13 final function getFile();//返回发生异常的文件名
14 final function getLine();//返回发生异常的代码行号
15 final function getTrace();//backtrace()数组
16 final function getTraceAsString();//已格式化成字符串的getTrace()信息
17
18 function__toString();//可输出的字符串
19 }
20 ?>
【代码解析】如果使用自定义的类来扩展内置异常处理类,并且要重新定义构造函数的话,建议同时调用parent:__construct()来检查所有的变量是否已被赋值。当对象要输出字符串的时候,可以重载成员函数__toString()并自定义输出的样式。
共有条评论 网友评论