我想知道如何在java中捕获错误但允许程序继续运行。
这是我的例子:
public class test1 {
public static void main(String[] args) {
String str = new String("abcdefghij");
try {
System.out.println(str.charAt(0));
System.out.println(str.charAt(9));
System.out.println(str.charAt(10));
System.out.println("is it still running");
} catch (Exception e) {
System.out.println("the index is out of bounds");
}
}
}
打印以下内容:
a
j
the index is out of bounds
但是在抛出错误之后我希望代码继续运行以便打印出来:
a
j
the index is out of bounds
is it still running
提前致谢
答案 0 :(得分:7)
Java在异常后不支持“恢复”或“重新启动”。
你可以在try/catch
中包含特定行“跳过”(在上面的例子中总共为3,每次访问一个),或者更好的是,编写不会抛出异常的代码 - 异常真的应该是“特殊的”IMOHO。您还可以将try/catch
代码移动到一个“包装”访问的方法中(例如,调用方法3x),但操作是相同的。
答案 1 :(得分:2)
for(int i =0; i < Short.MAX_VALUE; i++){
try{
System.out.println(str.charAt(i));
}catch(Exception ex){}
}
如果您希望始终执行,也可以使用finally块。