【发布时间】:2014-10-26 07:34:55
【问题描述】:
我的getChoice() 方法从控制台获取字符输入并将字符返回给main()。
getChoice() 是否应该抛出异常,让main() 处理它:
static char getChoice() throws IOException
{
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in));
return (char)br.read();
}
或者应该getChoice()捕获异常,处理它并返回一个字符:
static char getChoice()
{
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in));
char temp;
try {
temp = (char)br.read();
} catch(IOException exc) {
System.out.println("Invalid Input");
temp = (char)0;
}
return temp;
}
从设计的角度来看,哪种方法更好? 有没有更好的方法来做到这一点?
【问题讨论】:
-
谁在乎?!?关闭你的资源!哇!!!!!!
-
@CandiedOrange 实际上,在这种情况下,关闭 System.in 是不可取的。
-
嗯,看来你有道理:stackoverflow.com/questions/17174752/…我谦虚地撤回我的 WHAAAA
标签: java exception methods class-design ioexception