1

考虑一下:

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'....

我究竟做错了什么。

(顺便说一句,这只是一个测试,所以我知道我可以正确捕获错误,我显然不会在最终版本中使用该代码。)

4

2 回答 2

2

这是你的问题 - “int int = 5;” - 你不能使用“int”作为变量名;)

您正在尝试使用保留字作为变量名。编译问题与您的 try-catch 块工作或不工作无关,编译器永远不会那么远。

于 2012-10-20T10:00:05.380 回答
1

Try/catch 块不能用于这种错误。

如果您尝试加载不存在的文件,则会触发。尝试这个:

  Image img = Image.createImage("blabla.png");
于 2012-10-20T12:40:03.113 回答