您现在的位置:中国下载站学院中心网络编程PHP教程PHP基础教程 → 文章列表

PHP5 的异常处理机制(2)

作者:佚名  来源:不详  发布时间:2007-4-14 11:48:35   

减小字体 增大字体

 
 
  处理多个错误

  在目前为止异常处理看起来和我们传统的作法—检验返回的错误标识或对象的值没有什么太大区别。让我们将CommandManager处理地更谨慎,并在构造函数中检查command目录是否存在。

  <? 代码列表 index_php5_2.php?>

  <?php
// PHP 5
require_once('cmd_php5/Command.php');
class CommandManager {
   private $cmdDir = "cmd_php5";
function __construct() {
     if (!is_dir($this->cmdDir)) {
       throw new Exception(
       "directory error: $this->cmdDir");
     }
   }
function getCommandObject($cmd) {
     $path = "{$this->cmdDir}/{$cmd}.php";
     if (!file_exists($path)) {
       throw new Exception("Cannot find $path");
     }
     require_once $path;
     if (!class_exists($cmd)) {
       throw new Exception("class $cmd does not exist");
     }
$class = new ReflectionClass($cmd);
     if (!$class->isSubclassOf(new ReflectionClass('Command'))) {
       throw new Exception("$cmd is not a Command");
     }
     return new $cmd();
   }
}
?>

  这里有两个地方的调用可能导致程序出错(__construct()和getCommandObject())。尽管如此,我们不需要调整我们的客户代码。你可以在try语句中增添众多内容,然后在catch中统一处理。如果CommandManager 对象的构造函数抛出一个异常,则try语句中的执行中止,然后catch语句被调用捕捉相关的异常。同样地,getCommandObject()也是如此。这样,我们有同时存在两个潜在的引发错误的地方,和一个唯一的语句来处理所有的错误。这让我们的代码看起来更加整洁,又可以满足错误处理的要求。和前面提到的PHP的传统的错误方法相比,显然很有优势。


在百度中搜索更多PHP5 的异常处理机制(2)相关网页 转贴于:中国下载站

  • 上一篇文章:Windows环境下的PHP5与Apache服务器的配置
  • 下一篇文章:PHP5 的异常处理机制(1)
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!