java 异常后重新执行_在Java中引发异常后继续执行

我正在尝试引发异常(不使用try

catch块),并且程序在引发异常后立即完成。有没有一种方法可以在我引发异常之后继续执行程序?我抛出了在另一个类中定义的InvalidEmployeeTypeException,但是我希望程序在抛出该异常后继续执行。

private void getData() throws InvalidEmployeeTypeException{

System.out.println("Enter filename: ");

Scanner prompt = new Scanner(System.in);

inp = prompt.nextLine();

File inFile = new File(inp);

try {

input = new Scanner(inFile);

} catch (FileNotFoundException ex) {

ex.printStackTrace();

System.exit(1);

}

String type, name;

int year, salary, hours;

double wage;

Employee e = null;

while(input.hasNext()) {

try{

type = input.next();

name = input.next();

year = input.nextInt();

if (type.equalsIgnoreCase("manager") || type.equalsIgnoreCase("staff")) {

salary = input.nextInt();

if (type.equalsIgnoreCase("manager")) {

e = new Manager(name, year, salary);

}

else {

e = new Staff(name, year, salary);

}

}

else if (type.equalsIgnoreCase("fulltime") || type.equalsIgnoreCase("parttime")) {

hours = input.nextInt();

wage = input.nextDouble();

if (type.equalsIgnoreCase("fulltime")) {

e = new FullTime(name, year, hours, wage);

}

else {

e = new PartTime(name, year, hours, wage);

}

}

else {

throw new InvalidEmployeeTypeException();

input.nextLine();

continue;

}

} catch(InputMismatchException ex)

{

System.out.println("** Error: Invalid input **");

input.nextLine();

continue;

}

//catch(InvalidEmployeeTypeException ex)

//{

//}

employees.add(e);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值