我最近一直在努力寻找我的程序不断显示的致命错误消息的来源:
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 65
我已经尝试了很多东西,包括:删除所有类文件并重新构建它们,将整个项目复制到一个新项目中,升级我的 Eclipse 版本(从 Kepler 到 Luna),以及修改行号周围的代码错误消息给出的。没有任何效果,我已经排除了编辑器,因为其他 java 项目运行得很好。如果您能告诉我解决此问题的方法,我将不胜感激。
我的代码可以在这里找到。该错误与 Chunk 类有关,但我真的不知道具体是什么。错误消息的堆栈跟踪是:
at ca.ajweeks.igmc2014.level.Level.<init>(Level.java:22)
at ca.ajweeks.igmc2014.state.GameState.init(GameState.java:36)
at ca.ajweeks.igmc2014.state.StateManager.init(StateManager.java:34)
at ca.ajweeks.igmc2014.state.StateManager.<init>(StateManager.java:29)
at ca.ajweeks.igmc2014.Game.<init>(Game.java:38)
at ca.ajweeks.igmc2014.Game.main(Game.java:51)
编辑:错误的来源似乎是块类中 readFile 方法中的一个讨厌的 try-with-resources 语句。我不知道当前版本的 java 中是否存在导致此问题的错误,或者与我的特定程序有关,无论哪种方式使用普通的 try-catch 块都可以解决问题。感谢大家的帮助!