java抛出异常继续执行

import java.util.*;
public class Test {
public static void main(String[] args){
@SuppressWarnings("resource")

Scanner sc = new Scanner(System.in);
System.out.println("请输入您的姓名:");
String a = sc.next();
System.out.println("请输入您的年龄:");
try{
int b =sc.nextInt();
System.out.println("请输入您的工作:");
String c = sc.next();
System.out.println("请输入您的其他信息:");
String d = sc.next();
Person one = new Person(a);
System.out.println(one.toString());
Something two = new Something(b,c,d);
System.out.println(two.toString());}catch(Exception e){
System.out.println("输入错误");

};
}
}

如果int b =sc.nextInt();输入错误
如何让后面的输入继续执行

1.首先,如果你是想在这个方法里面继续执行,那么使用finally语句即可,即如下:
看样子你是想使用try catch结构,那么你没有写catch 啊
try {
可能会出现错误的代码

}catch(Excpetion e){
抛出错误后该运行的代码

}
finally{
无论是否抛出错误都一定会运行的代码

}

2.如果你是在这个方法中抛出错误,但是是提交给外面调用的方法解决,那么就只需要把你需要继续执行的代码写在外面即可,即如下:
A方法是可能报错的
你要在A里面加上throw或者throws语句,具体这个怎么用,不知道你会不会啊,你可以百度一下,有两种用法,方法头 和 方法中
B方法调用了A,那么把你需要继续执行的代码写在B里面,调用完A,不管报错与否都会继续运行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-05
使用

int b=-1;

try{ b=sc.nextInt(); }catch(Exception ex){ sc=new Scanner(System.in); }
if(b=-1){
System.out.println("输入有误");
return;

}

如果想一直到输入正确再继续,则要修改一下

int b=-1;
while(true){

try{

b=sc.nextInt();
break;

}catch(Exception ex){
sc=new Scanner(System.in);
System.out.println("输入有误,请重新输入:");
}
}

(谨供参考)本回答被提问者和网友采纳
相似回答