这是否有任何优点/缺点?为什么Scanner使用Scanner#ioException()而不是抛出异常?
try {
inputStream.read();
}catch(IOException e) {
e.printStackTrace();
}
但使用Scanner
时,你不会被强迫来处理异常:
通常情况下,你会从一个流读取时抛出异常。相反,如果有人被抛出,你会使用Scanner#ioException()
。
我知道Scanner
不是一个流,而是一个需要时解析数据的标记器,但是为什么它处理异常与涉及IO的其他操作不同?我应该什么时候以这种方式处理异常?