+ -
当前位置:首页 → 问答吧 → 【PHP5】php5学习之异常处理

【PHP5】php5学习之异常处理

时间:2005-10-07

来源:互联网

php5支持异常处理,今天学习了一下,感觉很不错!特把自己的学习心得写出来,希望对大家有用!:D

php5异常处理一般格式使这样的~
try{
   throw new Exception("errormsg",0);//Exception 也可以用自己定义的,实列中我有介绍
}catch(Execption $e)
{
   //出错处理
}finnal
{
   //出错后的一些其他的处理,比如关闭数据库,释放资源等~
}

php5内置的Exception格式如下
class Exception
{
   final function getmessage()//得到出错信息
   final function getcode()  //得到出错代码
   final function getFile()  //得到出错文件的完整路径
   final function getLine()  //返回异常代码行
   final function getTrace()  //返回异常代码的数组
   final function getTraceAsstring()  //
  function _toString()  //
  //注意前面几个方法的类型使final也就是说继承Exception的新类是不可以重载的~
  //所以自己定义的新异常类只能重载_tostring()
}
下面给我自己写的一些例子~
复制内容到剪贴板
代码:
<?
try{
  throw new exception("test",1);
}catch(Exception $e){
  echo "Error message:".$e->getmessage()."<br>Error Code:".$e->getcode()."<br>";
  echo "Error File:".$e->getfile().".<br>Error line:".$e->getline();
}
class MyException extends Exception
{
  function _toString()
  {
    echo "MyException Message:".$this->getmessage();
        echo "<br>Error file:".$this->getfile();
        echo "<br>Error line:".$this->getline();
  }
}
echo "<hr>MyException test:<br>";
try{
  throw new MyException();
  throw new Exception("haha",12);
}catch(MyException $e){
  $e->_toString();
}catch(Exception $e)
{
  $e->getTraceAsstring();
}
处理的结果如下
Error message:test
Error Code:1
Error File:C:\web\xlq\test\php5\exception.php.
Error line:11
--------------------------------------------------------------------------------
MyException test:
MyException Message:
Error file:C:\web\xlq\test\php5\exception.php
Error line:27

简单的写了下希望对大家有用~~^_^

作者: feifengxlq   发布时间: 2005-10-07

我的测试环境是winxp+apache2+php5.04+mysql5.0Beta

作者: feifengxlq   发布时间: 2005-10-07

PHP5的EXCEPTION必须手动throw出去~

和java的exception还是有区别的~

^_^支持不完全

作者: feifengxlq   发布时间: 2005-10-19

热门下载

更多