php异常

异常处理的作用:编写应急措施以免对可能出现的情况,可以理解为“应急处理手段”。

内置异常处理类的大致结构:

 1 <?php
 2 class Exception{
 3     protected $message="Unknown exception";  //异常信息
 4     protected $code=0;  //用户自定义异常代码
 5     protected $file;     //用户自定义文件名
 6     protected $line;    //发生异常的代码行号
 7 
 8     function __contruct($message,$code=0){
 9         final function getMessage(){}  //返回异常信息
10         final function getCode(){}  //返回异常代码
11         final function getFile(){}  //返回异常文件名
12         final function getLine(){}   //返回异常处行号
13         final  function getTrace(){}  //backtrace()数组    
14 
15         /*可重载的函数*/
16         function __toString(){}          //可输出的字符串
17 ?>

引用内置异常处理类的例子:

 1 <?php
 2 try{
 3     $a=$_GET['a'];
 4     $b=$_GET['b'];
 5     $error="除数不能为0";
 6     if($b==0)
 7         throw new Exception($error);
 8     echo 'a/b='."$a/$b"."<br>";
 9 }catch(Exception $e){
10     echo $e->getMessage()."<br>";
11 }
12 
13 ?>

运行结果:

---------------------

 

 --------------------

创建自定义异常处理类及应用:

 1 <?php
 2 /*自定义一个异常类,但必须是扩展内置异常处理类的子类*/
 3 class myException extends Exception{
 4     public function __construct($message,$code=0){
 5             parent::__construct($message,$code);  //用父类的构造函数处理传入的参数
 6     }
 7     
 8     public function __toString(){
 9         return __CLASS__.":[".$this->code."]:".$this->message."<br>";
10     }
11     
12     public function customFunction(){
13         echo "按照自定义的方法处理出现的这个类型的异常<br>";
14     }
15 }
16 
17 try{
18     $error="允许抛出这个错误";
19     throw new myException($error);
20     echo "Rever executed";
21 }catch(myException $e){
22     echo "捕获异常:".$e;
23     $e->customFunction();
24 }
25 echo "你好呀";
26 /*
27 自定义异常处理类可以应对一些可能发生的情况
28 */
29 ?> 

运行结果:

————————————————————————————

 

———————————————————————————— 

 

posted @ 2020-02-24 22:49  叶际参差  阅读(171)  评论(0)    收藏  举报