在使用Scanner类的nextInt()方法时,如果抛出InputMismatchException,我应该通过catch块处理它吗? 它是一个运行时异常,但是由用户输入而不是程序员的错误引起。
这是我的代码。
package com.sample.programs;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ScannerPractice {
public static void main(String[] args) {
readInteger();
}
private static void readInteger() {
// Created a Scanner object
Scanner input = new Scanner(System.in);
// Display a prompt text
System.out.println("Please enter an integer");
// Accept the input from user
int number;
try {
number = input.nextInt();
// Display the output to user
System.out.println("You entered: " + number);
} catch (InputMismatchException exception) {
System.err.println("You have entered wrong input. Please enter a number");
// Log the stack trace
readInteger();
} finally {
input.close();
}
}
}
答案 0 :(得分:0)
是。最好处理用户错误的输入beacouse你无法控制或确保用户将正确对齐数据,你不能读取双精度数或带有readInteger()的字符串。
所以我会处理异常。
问候。
答案 1 :(得分:0)