[英]Is forget handling an exception a logic/runtime error or not an error
例如,通過BufferedReader
從終端讀取行而不處理錯誤
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
try{
String input = input.readLine();
}
catch(Exception e){
// Do Noting
}
不處理 IOException 是錯誤嗎? 如果是錯誤,是邏輯錯誤還是運行時錯誤? 為什么?
從評論中的澄清來看,它是:
String input
屏蔽了對BufferedReader input
訪問 - 但也許這只是這篇文章中的一個錯誤
和
錯誤是 (1) 不可能用成功的輸入做任何事情,因為變量超出了范圍,(2) 缺乏對用戶無效輸入的反饋,以及 (3) 缺乏可見的重試或程序中止由於錯誤,我猜其中一個應該發生,並且可能 (4) 從描述中它可能應該只處理 IOException 時悄悄地吃掉所有異常,並且 (5) 沒有實現拒絕整數的代碼,正如所聲稱的要求說 - 數字也是字符。
和
readline
讀取一行失敗是在運行時發生的事件,在任何給定的執行中可能發生也可能不發生。
換句話說,邏輯錯誤是未能充分預測和處理可能的運行時錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.