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);

}

}


版权声明:本文为weixin_33910305原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。