日期:2011-03-22 16:17:00 来源:本站整理
缺陷:丧失的违例[Java编程]
本文“缺陷:丧失的违例[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
普通情形下,Java的违例实施筹划都显得非常超卓.不幸的是,它仍然存在一个缺陷.固然违例指出程序里存在一个危急,并且毫不该忽视,但一个违例仍有大概简单地“丧失”.在采取finally从句的一种特别配置下,便有大概发生这种情形:
//: LostMessage.java // How an exception can be lost class VeryImportantException extends Exception { public String toString() { return "A very important exception!"; } } class HoHumException extends Exception { public String toString() { return "A trivial exception"; } } public class LostMessage { void f() throws VeryImportantException { throw new VeryImportantException(); } void dispose() throws HoHumException { throw new HoHumException(); } public static void main(String[] args) throws Exception { LostMessage lm = new LostMessage(); try { lm.f(); } finally { lm.dispose(); } } } ///:~
输出以下:
A trivial exception at LostMessage.dispose(LostMessage.java:21) at LostMessage.main(LostMessage.java:29)
可以看到,这里不存在VeryImportantException(非常重要的违例)的迹象,它只是简单地被finally从句中的HoHumException替换了.
这是一项相当严重的缺陷,因为它意味着一个违例大概完好丧失.并且就象前例演示的那样,这种丧失显得非常“自然”,很难被人查出蛛丝马迹.而与此相反,C++里假如第二个违例在第一个违例得到掌握前产生,就会被当作一个严重的编程错误处理.大概Java今后的版本会改正这个问题(上述后果是用Java 1.1生成的).
以上是“缺陷:丧失的违例[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:构建器
- ·下一篇文章:<b>用finally做什么</b>
- ·中查找“缺陷:丧失的违例”更多相关内容
- ·中查找“缺陷:丧失的违例”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论