一个叫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不仅仅是花哨而已呢!
闽公网安备 35060202000074号