一个叫Prashant Deva的人发现在Java 5.0的java.io.PrintStream中有这样一段代码:protected void setError() {
trouble = true; try { throw new IOException();} catch (IOException x) {}
} 注意这段代码中 try...catch 除了空耗系统资源之外毫无意义。这样的代码隐藏在系统底层,频频使用,还伴随我们这么久,未免让人啼笑皆非。善意的猜测是,某位程序员本想在try block添加一些代码,于是先写下这些stub,之后居然忘了,留下笑柄。恶意的揣度则完全是一场逃脱了code review的恶作剧。 不过我手上并没有Java 5.0,而在Java 6.0的source中,我看到这个恶作剧已经被清除。 看来Java的io不仅仅是花哨而已呢!
转http://blog.csdn.net/myan/archive/2007/01/23/1491630.aspx
trouble = true; try { throw new IOException();} catch (IOException x) {}
} 注意这段代码中 try...catch 除了空耗系统资源之外毫无意义。这样的代码隐藏在系统底层,频频使用,还伴随我们这么久,未免让人啼笑皆非。善意的猜测是,某位程序员本想在try block添加一些代码,于是先写下这些stub,之后居然忘了,留下笑柄。恶意的揣度则完全是一场逃脱了code review的恶作剧。 不过我手上并没有Java 5.0,而在Java 6.0的source中,我看到这个恶作剧已经被清除。 看来Java的io不仅仅是花哨而已呢!
转http://blog.csdn.net/myan/archive/2007/01/23/1491630.aspx
没事做了,到外网翻译篇无聊的E文,放到CSDN头版拿全国人民开心。
注意这段代码中 try...catch 除了空耗系统资源之外毫无意义
=========================================================
空耗多少资源???一点class文件格式的知识都没有!在那空喊!无知!还伴随我们这么久
==================
你去看看1.4的source中有吗?
* Set the error state of the stream to <code>true</code>.
*
* @since JDK1.1
*/
protected void setError() {
trouble = true;
}