您好,欢迎访问一九零五行业门户网

PHP异常详解_PHP教程

php的异常是什么?
php 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。
一般使用方法:
[php] 
getmessage(); 

throw new exception('xxx') : 抛出一个异常
try  : 使用异常的函数应该位于 try 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
catch:代码块会捕获异常,并创建一个包含异常信息的对象
自定义异常类:
[php]
class myexception extends exception { 
 public function errormessage() { 
    $errormsg = 'error on line '.$this->getline().' in '.$this->getfile() 
  .': '.$this->getmessage().' is not a valid e-mail address'; 
    return $errormsg; 
  } 
}
try { 
  throw new myexception($email); 
}catch (myexception $e){ 
 echo $e->errormessage(); 

myexception类是一个自定义的异常类,必须继承exception
exception是一个php自带的内置的异常类,默认情况下会使用php默认的内置异常类,但是我们可以通过自定义的方式,自定义成满足自己需求的异常类。
使用自定义异常类的时候,throw new myexception 抛出异常也需要抛出自定义的异常类类名
catch的时候也需要捕获自定义的异常类
如果抛出了异常而不捕获处理的话,就会发生php代码报错,如下:
[sql] 
fatal error: uncaught exception 'myexception' in d:\appserv\www\cctv\trunk\index.php:12 stack trace: #0 {main}  
thrown in d:\appserv\www\cctv\trunk\index.php on line 12 
php默认异常类详细:
[php] 
class exception 

    protected $message = 'unknow exception'; //自定义的异常信息 
    protected $code = 0; //定义的异常代码 
    protected $file; //发生异常的php程序名 
    protected $line; //发生异常的php行号 
    //用于传递用户自定义异常信息和用户自定义异常代码的构造函数 
    function __construct($message=null,$code=0); 
    final function getmessage(); 
    final function getcode(); 
    final function getfile(); 
    final function getline(); 
    final function gettrace(); //以数组形式返回异常传递的路线 
    final function gettraceasstring(); //返回格式化成字符串的gettrace函数信息 
    function __tostring(); //可重载,用于返回可输出的字符串 

可以看到php默认异常类中有很多自定义变量和方法
$e->getmessage 一般是获取错误信息
$e->getcode() 一般是获取错误码
$e->getfile() 获取错误的文件信息
$e->getline() 获取错误行数
$e->gettrace() 异常经过的文件路径
__tostring() 一般可以重载,用于返回可输出的字符串
php异常类的作用:
捕获异常,一般可以在mysql链接不上,或者业务逻辑错误的时候,抛出异常,在代码最顶端接收。
异常分析处理。可以在出异常的时候,捕获到异常的错误信息,写入日志。
可以返回友好化的提示信息,例如web端可以返回页面形式,也可以在ajax端返回json数据格式。
原则:如果异常抛出了,就必须捕获它,否则会php报错。
作者:initphp
http://www.bkjia.com/phpjc/478076.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/478076.htmltecharticlephp的异常是什么? php 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这...
其它类似信息

推荐信息