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()."
Error Code:".$e->getcode()."
";
- echo "Error File:".$e->getfile().".
Error line:".$e->getline();
- }
- class MyException extends Exception
- {
- function _toString()
- {
- echo "MyException Message:".$this->getmessage();
- echo "
Error file:".$this->getfile();
- echo "
Error line:".$this->getline();
- }
- }
- echo "
MyException test:
";
- 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
简单的写了下希望对大家有用~~
测试环境是winxp+apache2+php5.04+mysql5.0Beta
PHP5的EXCEPTION必须手动throw出去~
和java的exception还是有区别的~
阅读(114) | 评论(0) | 转发(0) |