InputMismatchException错误

时间:2012-06-29 23:11:26

标签: java exception error-handling standard-library

我收到编译时错误说:

不能抛出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);
}
}

1 个答案:

答案 0 :(得分:2)

尝试为您的班级使用其他名称。当一个名为InputMismatchException的类已经是异常类的名称时,你就会混淆编译器。