PHP 之 错误与异常处理
1.异常处理的语言将此过程抽象为四个步骤
(1)应用程序尝试做一些操作
(2)如果尝试失败,则异常处理特性抛出一个异常
(3)指定的处理器捕获该异常,完成必要的任务
(4)异常处理特性清除在尝试期间占用的资源
try{ perform some task if something goes wrong throw IOexception("Could not open file") //捕获异常 }catch(IOexception){ output the IOexception message }
2.异常处理实现
异常类有一下七种方法
(1)getCode() : 返回传递给构造函数的错误代码
(2)getFile() : 返回抛出异常的文件名
(3)getLine() : 返回抛出异常的行号
(4)getMessage() : 返回传递给构造函数的消息
(5)getPrevious : 返回前一个异常
(6)getTrace() : 返回一个数组,其中包括出现错误的上下文有关信息
(7)getTraceAsString() : 返回与getTrace() 完全相同的信息,只是返回信息是一个字符串而不是数组
基本异常类
(1)默认构造函数 : throw new Exception();
(2)重载构造函数 : throw new Excetpion("something bad just happened",4,$e);
3.产生一个异常
<?php header("Content-type:text/html; charset=utf-8"); try{ $f = fopen("contract.txt","r"); if(! $f){ throw new Exception("Could not open the file!"); } }catch(Exception $e){ echo "Error (File:".$e->getFile().",line".$e->getLine()."):".$e->getMessage(); }