Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198646
  • 博文数量: 264
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 2740
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 13:25
文章分类

全部博文(264)

文章存档

2011年(1)

2009年(263)

我的朋友

分类:

2009-06-03 14:36:01

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()
}
下面给我自己写的一些例子~
  1. try{
  2.   throw new exception("test",1);
  3. }catch(Exception $e){
  4.   echo "Error message:".$e->getmessage()."
    Error Code:".$e->getcode()."
    ";
  5.   echo "Error File:".$e->getfile().".
    Error line:".$e->getline();
  6. }
  7. class MyException extends Exception
  8. {
  9.   function _toString()
  10.   {
  11.     echo "MyException Message:".$this->getmessage();
  12.         echo "
    Error file:".$this->getfile();
  13.         echo "
    Error line:".$this->getline();
  14.   }
  15. }
  16. echo "
    MyException test:
    ";
  17. try{
  18.   throw new MyException();
  19.   throw new Exception("haha",12);
  20. }catch(MyException $e){
  21.   $e->_toString();
  22. }catch(Exception $e)
  23. {
  24.   $e->getTraceAsstring();
  25. }

处理的结果如下
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

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

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

PHP5的EXCEPTION必须手动throw出去~

和java的exception还是有区别的~

阅读(114) | 评论(0) | 转发(0) |
0

上一篇:PHP函数点评

下一篇:字符串函数总结帖

给主人留下些什么吧!~~