浏览 1446 次
锁定老帖子 主题:eclipse jdt 编译的bug
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (11)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-26
最后修改:2010-11-26
class MyException extends Exception { private static final long serialVersionUID = 1L; } public class UnusedTest { static boolean b = false; static void method() throws MyException { if (b) { throw new MyException(); } } public static void main(String[] args) { Object o = null; try { while (true) { method(); o = new Object(); b = true; } } catch (MyException e) { } if (o != null) { System.out.println("After catch!"); } } } eclipse 好像使用内部的jdt编译的,编译的时候 if (o != null) { System.out.println("After catch!"); } 会被认为是deadcode忽略掉,但javac可以正确编译。 不知能否设置eclipse 使用系统的javac来编译。 后记: 刚刚向jdt小组提交bug,他们说已经在3.6.1版本中修复了, 我用的是3.6.0 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |