看板 java 關於我們 聯絡資訊
想請問一個一直都沒辦法在邏輯上說服自己的觀念性問題 參考資料都說,程式的例外是用來擷取runtime時的例外情形,用來攔截例外的發生的. 可是要是已經知道會有那些例外可能發生, 設計程式時我們不是就會把限制條件給加上去了, 根本不用等到例外發生了再來攔截吧? Runtime會發生的例外都是設計程式時根本沒想到的,既然沒想到, 為什麼會知道要怎麼去預防呢? 像旗標的Java2第十四章以一個使用者輸入錯誤當例子,程式例只能輸入數字 但當使用者輸入字串時就會是一個例外,所以程式安排這邊設計一個攔截字串例外 發生時的處理. 但是假設我是這個程式的開發者 我要是一開始就知道這個例外的存在,我就會設條件讓使用者不能輸入數字以外的資料了 如果我連這個例外都沒有預估到,我又怎麼會知道要去攔截這個例外呢? 希望有人知道我在說甚麼 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 137.132.255.14
mars90226:今天如果socket連線出問題,你就不能用if判斷了 04/15 20:26
cha122977:等到接觸IO類的exception你就會有感覺啦~ 04/15 22:45
DeathWatch:你無法完全預測哪裡會有問題 04/15 23:18
cha122977:另外要是例外情況超多的時候 用if可能會瘋掉~ 04/15 23:44
johnny94:版主好像有寫一篇關於例外的文章應該可以解答你的問題 04/16 00:50
PsMonkey:囧> 我有寫過嗎? 有誰可以幫我考古一下... 自己都忘了 04/16 01:42
Shrugg:socket斷線如果是我可以預估到而特別加上例外去處理,那我也 04/16 22:17
Shrugg:可以在一開始就加上timeout來處理不是更方便? 斷線又不見得 04/16 22:19
Shrugg:是我這邊的問題,所以用timeout提示比用例外會更容易了解. 04/16 22:21
tkcn:timeout 的部份 OS 已經幫你做好了 04/16 22:45
LaPass:socket的timeout已經寫好了啊.... 你打算寫什麼? 04/17 05:21