考虑一下:
public class Minesweeper extends MIDlet implements CommandListener {
public static String error = "";
public void startApp() throws MIDletStateChangeException {
try{
int int = 5;
} catch (Exception e) {
error = e.toString();
}
}
}
int
是int
的无效名称,因此肯定会在error
中捕获并注册错误? (这个错误是故意的,所以我可以抓住它)
你可能已经猜到了,但似乎没有抓住错误,应用程序停止了java/lang/Error Unresolved compilation problem: syntax error on token 'int'...
。
我做错了什么。
(顺便说一句,这只是一个测试,所以我知道我可以正确地捕获错误,我显然不会在最终版本中使用该代码。)
答案 0 :(得分:2)
这是你的问题 - “int int = 5;” - 你不能使用“int”作为变量名;)
您正在尝试将保留字用作变量名。编译问题与你的try-catch块工作或不工作无关,编译器永远不会那么远。
答案 1 :(得分:1)
Try / catch块不能用于那种错误。
如果您尝试加载不存在的文件,则会触发。试试这个:
Image img = Image.createImage("blabla.png");