六大代码问题检验你的JAVA知识(转)
2008-08-01 15:57
369 查看
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?
本文的结论不是放之四海皆准的教条,有时常识和经验才是最好的老师。如果你对自己的做法没有百分之百的信心,务必加上详细、全面的注释。
一方面,不要笑话这些错误,不妨问问你自己是否真地彻底摆脱了这些坏习惯。即使最有经验的程序员偶尔也会误入歧途,原因很简单,因为它们确确实实带来了“方便”。所有这些反例都可以看作Java编程世界的恶魔,它们美丽动人,无孔不入,时刻诱惑着你。也许有人会认为这些都属于鸡皮蒜毛的小事,不足挂齿,但请记住:勿以恶小而为之,勿以善小而不为。
OutputStreamWriter out = java.sql.Connection conn = try { Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery("select uid, name from user"); while (rs.next()) { out.println("ID:" + rs.getString("uid") + ",姓名: " + rs.getString("name")); } } catch(SQLException sqlex) { out.println("警告:数据不完整"); throw new ApplicationException("读取数据时出现SQL错误", sqlex); } catch(IOException ioex) { throw new ApplicationException("写入数据时出现IO错误", ioex); } finally { if (conn != null) { try { conn.close(); } catch(SQLException sqlex2) { System.err(this.getClass().getName() + ".mymethod - 不能关闭数据库连接: " + sqlex2.toString()); } } if (out != null) { try { out.close(); } catch(IOException ioex2) { System.err(this.getClass().getName() + ".mymethod - 不能关闭输出文件" + ioex2.toString()); } } }
本文的结论不是放之四海皆准的教条,有时常识和经验才是最好的老师。如果你对自己的做法没有百分之百的信心,务必加上详细、全面的注释。
一方面,不要笑话这些错误,不妨问问你自己是否真地彻底摆脱了这些坏习惯。即使最有经验的程序员偶尔也会误入歧途,原因很简单,因为它们确确实实带来了“方便”。所有这些反例都可以看作Java编程世界的恶魔,它们美丽动人,无孔不入,时刻诱惑着你。也许有人会认为这些都属于鸡皮蒜毛的小事,不足挂齿,但请记住:勿以恶小而为之,勿以善小而不为。
相关文章推荐
- 六大代码问题检验你的Java知识
- 六大代码问题检验你的Java知识
- 用六大代码问题检验你的Java知识能力
- 六大代码问题检验你的Java知识
- 六大代码问题检验你的Java知识
- 六大代码问题检验你的Java知识
- 六大代码问题检验你的Java知识
- 六大代码问题检验你的JAVA知识(转)
- 六大代码问题检验你的Java知识
- 六大代码问题检验你的Java知识
- 用六大代码问题检验你的Java知识能力
- 用六大代码问题检验你的Java知识能力
- 六大代码问题检验你的Java知识
- 诊断Java代码中常见的数据库性能热点问题应该这么做!
- 一个坑爹的问题:jsp中在js函数中嵌套java代码造成的问题
- [原]Java多线程编程学习笔记之四:volatile变量修饰符—意料之外的问题(含代码)
- 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题
- 从一小段代码看 Clojure 和 Java 解决问题的差异
- 代码详解Java猴子选王问题(约瑟夫环)
- Java六大必须理解的问题