一直以来对PHP5没怎么好好学习,属于那种用着的时候,查手册Google资料的那种人。前天看见同事的程序满眼的try,throw,catch,立马汗颜。不禁为自己在这方面的知识深深自责一下。
今天挤出点时间学习了这个东西。参考了一下文档:
1:PHP 15:异常
2:用实例分析PHP5异常处理,一看就懂
3:PHP 5.0异常处理机制深度探索
4:PHP5的异常处理机制
PHP5内建的异常类需要有以下成员方法:
__construct() | 构造函数,需要一个出错信息和一个可选的整型错误标记作参数 |
getMessage() | 取得出错信息 |
getCode() |
出错的代码 |
getFile() | 异常发生的文件 |
getLine() | 异常发生的行数 |
getTrace() | 跟踪异常每一步传递的路线,存入数组,返回该数组 |
getTraceAsString() |
和getTrace()功能一样,但可以将数组中的元素转成字符串并按一定格式输出 |
__toString() | 允许简单的显示Exception对象,并且给出所有以上方法给出的信息。 |
Haohappy有几句话说的很好,PHP的异常机制可以满足我们如下的4点需求:
以下是引用片段: 1.允许一个方法给出一个出错标记给客户代码 |
写了点程序练习一下:
以下是代码片段:
$a = 20; // 使用常规catch的例子 echo " "; // 使用不同的扩展异常类的例子 try ?> |
输出如下:
以下是引用片段: 0 : exception 'Exception' with message 'Who am I ?' in D:\WebPHP\WWW\new\test.php:24 Stack trace: #0 {main} 0 : exception 'Exception' with message 'Who am I ?' in D:\WebPHP\WWW\new\test.php:69 Stack trace: #0 {main} |