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 ?>
运行结果:
————————————————————————————

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

浙公网安备 33010602011771号