| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:关于异常的一点疑惑
只看楼主 加入收藏
dearbaby_gx
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-11-28
收藏
 问题点数:0 回复次数:2 
关于异常的一点疑惑
书上说:在catch块中使用Exception超类,并在后面的多个catch块中使用Exception的子类时,可能发生意料之外的问题。例如,输入/输出异常IOException是文件尾异常EOFException的超类。如果将IOException块放在EOFException块前面,该超类将不会捕获任何异常。

问题:我们在写异常处理时,不是使用Exception超类的吗?如:
catch(Exception e)
{

}
各位觉得书上说的对吗?如我说得不对,请多多指正,谢谢!
2005-12-12 09:08
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
如果使用Exception来捕捉异常,那么只需要写这一个catch就可以了,任何异常都会被捕捉,但如果你想针对不同的异常作出不同的反应的话,这样写就不可以了

向着软件工程师的目标前进!
2005-12-12 10:07
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

一个程序可能会出现各种不同的问题

比方说一个TCP协议的简单的点对点聊天工具,他光是在网络传输上就可能会出现

1.对方断线发送失败异常
2.自己断线发送失败异常
3.其他未知的异常(比如说你机器XX了或者是不小心除以一个0还是什么的)

这些异常你都必须要用各自的异常类来捕捉,而其他未知的异常就可以用Exception类来捕捉,但是这个Exception一定要放在所有异常捕捉的后面

比如
try {
} catch(LostFriends lf) {
....
} catch(LostSelf ls) {
....
} catch(Exception e) {
....
} finally {
....
}


淘宝杜琨
2005-12-13 19:11
快速回复:关于异常的一点疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016551 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved