新手入门
BlogJava
首页
新随笔
联系
聚合
管理
posts - 3, comments - 3, trackbacks - 0
2006年6月14日
今天又犯了这个错误,气愤!!
我这个人有时比较粗心大意,天生对一些记忆性的东西容易搞错,比如到底一个判断方法执行后返回值是true还是false,一个if判断条件应该为真时执行{}内语句还是假时有时候经常搞不清楚。
今天作的程序中有一个需要判断一个变量是否为空,如果不为空并执行一个特定语句的程序,我就马马虎虎写成了如果为空则执行这个语句。郁闷!!老是犯这类错误!
今天的程序中有检查出一个错误,本来应该这样执行的程序:如果一次不成功则执行第二次,第二次不成功则执行第三次,如果第三次不成功则执行一个特定操作。修改后代码如下:
if
(contents
==
null
||
contents
==
""
)
{
Thread.sleep(
100
);
contents
=
this
.getContent(a, b);
}
if
(contents
==
null
||
contents
==
""
)
{
Thread.sleep(
200
);
contents
=
this
.getContent(a, b);
}
if
(contents
==
null
||
contents
==
""
)
{
contents
=
"
出错提示和帮助免责信息
"
;
}
原来错误代码:
if
(contents
==
null
||
contents
==
""
)
{
Thread.sleep(
100
);
contents
=
this
.getContent(a, b);
}
else
if
(contents
==
null
||
contents
==
""
)
{
Thread.sleep(
200
);
contents
=
this
.getContent(a, b);
}
else
if
(contents
==
null
||
contents
==
""
)
{
contents
=
"
出错提示和帮助免责信息
"
;
}
错误的方法使得程序没有达到一次达不到目的重试两次的目的简直返晕,竟然犯这种处级以下错误。
posted @
2006-06-20 15:43
阿郎 阅读(206) |
评论 (3)
|
编辑
收藏
关于带返回值的方法的异常处理的几个问题
下面一段代码是通过配置文件读取类名,取得相应的处理类的方法实例,方法要返回字符串形式的值。
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 @
2006-06-14 22:19
阿郎 阅读(657) |
评论 (0)
|
编辑
收藏
<
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)