Java基础类中的恶作剧?

时间:2021-08-06 14:09:19
          一个叫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不仅仅是花哨而已呢!