如何捕获并处理此类异常?
时间: 2024-09-16 21:02:14 浏览: 12
在Java中,你可以通过`try-catch`块来捕获`InputMismatchException`。以下是捕获处理这种异常的一般步骤:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
// 尝试读取用户输入
int input = scanner.nextInt();
// 这里可以添加需要的业务逻辑
} catch (InputMismatchException e) {
// 捕获到异常时,打印错误信息
System.out.println("输入错误,请输入正确的整数!");
// 清除当前输入,防止后续读取出现问题
scanner.next(); // 或者使用scanner.nextLine()清除整个行
// 再次尝试获取输入,或者跳过此步骤
// 如果你想直接结束程序,可以在这里添加System.exit(1);
}
finally {
// 关闭Scanner
scanner.close();
}
}
}
```
这里,如果输入不是整数,`nextInt()`会抛出异常,然后在`catch`块中处理这个异常,显示错误消息并清除输入,以便下次请求输入。`finally`块确保了不管是否发生异常,`Scanner`对象都会被关闭。