我收到编译时错误说:
不能抛出InputMismatchException类型的异常;异常类型必须是Throwable InputMismatchException.java的子类
据我所知,InputMismatchException是Scanner收到无效输入时抛出的异常,为什么这个错误阻止我编译?
import java.util.*;
public class InputMismatchException
{
public static void main(String[] args)
{
boolean continueInput = true;
Scanner input = new Scanner(System.in);
do
{
try
{
System.out.println("Enter an integer: ");
int num = input.nextInt();
System.out.println("You entered: " + num);
continueInput = false;
}
catch (InputMismatchException e) //This is where the error occurs.
{
System.out.println("Enter an integer!");
input.nextLine();
}
}while(continueInput);
}
}
答案 0 :(得分:2)
尝试为您的班级使用其他名称。当一个名为InputMismatchException
的类已经是异常类的名称时,你就会混淆编译器。