Java me Try/Catch在javame中似乎没有任何作用
考虑这一点:Java me Try/Catch在javame中似乎没有任何作用,java-me,try-catch,nokia-s40,Java Me,Try Catch,Nokia S40,考虑这一点: 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.
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未解决的编译问题:标记“int”上的语法错误……
我做错了什么
(顺便说一句,这只是一个测试,所以我知道我可以正确地捕获错误,我显然不会在最终版本中使用该代码。)这是您的问题—“int=5;”-您不能使用“int”作为变量名;)
您正试图使用保留字作为变量名。编译问题与try-catch块工作或不工作无关,编译器永远不会走那么远。try/catch块不能用于此类错误 如果你尝试加载一个不在那里的文件,那么它会被触发。试试这个:
Image img = Image.createImage("blabla.png");
所以你不能捕捉到这样的错误?您可以捕获哪些错误?好吧,在这个问题的上下文中,我想说解释它的最简单的方法是try/catch在程序尝试执行某些操作但失败时起作用。然而,要编译一个程序,必须遵循语言/编译器的正确规则/语法。换句话说,try/catch更适合捕获运行时异常,而不是编译时错误。