新手入门
BlogJava
首页
新随笔
联系
聚合
管理
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
阿郎
阅读(657)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
<
2006年6月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
我正在读
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
2006年6月 (3)
我的其他博客
.net 博客
写我学习使用.net 的点点滴滴
搜索
最新评论
1. re: 今天又犯了这个错误,气愤!!
ajax? 日了.
--theone
2. re: 今天又犯了这个错误,气愤!!
这个网站不错嘛
--theone
3. re: 今天又犯了这个错误,气愤!!
傻得可爱
--theone
阅读排行榜
1. 关于 static 静态代码块的一点东西(2098)
2. 关于带返回值的方法的异常处理的几个问题(657)
3. 今天又犯了这个错误,气愤!!(206)
评论排行榜
1. 今天又犯了这个错误,气愤!!(3)
2. 关于带返回值的方法的异常处理的几个问题(0)
3. 关于 static 静态代码块的一点东西(0)