posts - 3,  comments - 3,  trackbacks - 0

下面一段代码是通过配置文件读取类名,取得相应的处理类的方法实例,方法要返回字符串形式的值。

  private  String A(Data data)  {

    String processClassName 
=   null // 要通过配置文件读取的类名

    
// 读取配置文件
     try   {
      appconfig c 
=  appconfig.getInstance( " appConfig " );
      c.setConfigFile(
new  File( " ./config/appConfig.txt " ));
      processClassName 
=  c.get( " aaa. "   +  data.To  +
                               
" .class " );
    }

    
catch  (NullPointerException ef)  {
      ef.printStackTrace();
      
return   null ;
    }

    
catch  (IllegalStateException ex)  {
      ex.printStackTrace();
      
return   " 帮助信息 " ;
    }

    
catch  (Exception ef)  {
      ef.printStackTrace();
      
return   null ;
    }

    
// 判断服务类是否已经配置
     if  (processClassName  ==   null {
      System.out.println(
" 尚未配置 "   +  MMSTo  +   " 的服务类 " );
       return   null ;
    }

    
// 取得相应处理执行类
    AIFC aifc  =   null ;
    
try   {
      Class BClass 
=  Class.forName(processClassName);
      aifc 
=  (AIFC ) BClass.newInstance();
    }

    
catch  (ClassNotFoundException e)  {
      e.printStackTrace();
      
return   null ;
    }

    
catch  (InstantiationException e)  {
      e.printStackTrace();
      
return   null ;
    }

    
catch  (IllegalAccessException e)  {
      e.printStackTrace();
      
return   null ;
    }


    String content 
=   "" ;
    
try   {
      content 
=  aifc .getContent(mmsdata.sd,                         mmsdata.To);
    }

    
catch  (Exception ef)  {
      ef.printStackTrace();
      
return   null ;
    }


    
return  content;
  }

方法中读取配置文件时情况比较复杂,有多种可能出现的异常,如果不能很好的抛出和捕捉异常会导致程序的非正常退出或中断,如果此方法为扫描方法,那么将无法进行下面的操作。但各种异常产生的原因不同,有需要区分不同情况以对程序进行控制。但是调用此方法的对象只能通过返回值一种途径对不同情况进行判断。所以在捕捉不同异常同时又需要进行返回不同结果的设计。这也是一种捕获异常而不中断程序的一种方法。
posted on 2006-06-14 22:19 阿郎 阅读(650) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

我正在读

常用链接

留言簿(1)

随笔档案

我的其他博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜