Java基础类中的恶作剧?

Java5.0 PrintStream 代码瑕疵
博客指出Java5.0中java.io.PrintStream类存在无意义的try...catch代码段,该段代码仅抛出并捕获异常,没有任何实际作用。作者推测这可能是程序员留下的草稿未能清理所致,而在Java6.0中这一问题已被修复。
一个叫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不仅仅是花哨而已呢!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值