2011-10-03 45 views
1

從設計角度來看,處理程序員定義的用戶非法輸入的最佳方法是什麼?設計:如何使用掃描儀處理非法控制檯輸入?

例如:我要求用戶輸入數量,但他輸入「fewfiejfjw」。

我應該自定義異常嗎?在這種情況下是否存在一個普遍接受的例外情況?或者我應該說

if(!in.next().matches("\b\d+\b"){ 
System.out.print("Try again"); 
//..code to repeat method goes here 
} 

感謝您的任何幫助。

回答

1

我不認爲你應該拋出異常。您應該處理輸入並顯示錯誤並要求用戶再次嘗試。沒有理由停止申請。

2

Scanner有一類方法用於檢查下一個標記是否是一個有效整數等。例如,請參閱hasNextInt()。在致電nextInt()之前調用此方法。

處理無效輸入的最佳方法是什麼取決於您的應用程序。我想讓用戶再次輸入這個值並不是不合理的(當然,跳過無效標記以避免創建無限循環)。