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