我创建了一个将控制台输入读取为整数
的方法public static Integer readInteger() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
return Integer.parseInt(reader.readLine());
} catch (NumberFormatException e) {
return null;
}
}
我必须包含throws IOException
但是在这种情况下,只要System.in没有关闭,可能会抛出IOException吗?
答案 0 :(得分:0)
这是一个重的" java中的主题。
现在大多数java程序员现在都同意,检查异常是愚蠢和冗余的,不应该存在。
在你的情况下,如果关闭怎么办?编译器不知道程序何时运行,也不知道他将在什么环境下运行。
如果运行程序的当前用户没有写入控制台的权限怎么办?
我可以坚持下去,但我认为你明白了。
答案 1 :(得分:0)
我同意David Limkys的说法。
Class IOException表示发生了某种类型的I / O异常。 此类是由失败或中断的I / O操作产生的一般异常类。