0
我希望從我從命令行讀取用戶輸入的方式上獲得一些有關最佳實踐和評論的意見。有沒有推薦的方法來做到這一點,我正確地使用try/catch塊嗎?以正確的方式從java中的命令行讀取用戶輸入
我的例子在這裏工作正常,但仍然希望聽到如果有一個'乾淨'的方式來做到這一點。非常感謝。例如,他是否需要在每個catch塊中返回語句? 或者,我應該把我的邏輯(條件)放在try塊內嗎?
公共類客戶{
public static void main(String[] args) {
begin();
}
private static void begin(){
Machine aMachine = new Machine();
String select=null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(aMachine.stillRunning()){
try {
select = br.readLine();
} catch (IOException ioe) {
System.out.println("IO error trying to read your selection");
return;
}catch(Exception ex){
System.out.println("Error trying to evaluate your input");
return;
}
if (Pattern.matches("[rqRQ1-6]", select)) {
aMachine.getCommand(select.toUpperCase()).execute(aMachine);
}
/*
* Ignore blank input lines and simply
* redisplay options
*/
else if(select.trim().isEmpty()){
aMachine.getStatus();
}
else {
System.out.println(aMachine.badCommand()+select);
aMachine.getStatus();
}
}
}
}
因此,掃描器不需要使用try/catch塊和異常處理? – denchr 2009-11-15 14:54:31
它不需要它,但它會將它們投入不良輸入。 – monksy 2009-11-15 16:04:36