Re: [J2SE] 請問delay的方法
※ 引述《AmosYang (LetMeGoogleThatForYou)》之銘言:
: 8. 某人與有人就跑去以信件討論到底何謂 "很容易修復"
: "修復" 的定義為何? "容易" 的定義又為何?
現在某人和有人的信件已經告一段落。
有人對容易修復的定義如下:
比起用 if-then-else 來阻止例外發生,用 try-catch 更容易
讓程式恢復正常運作。
: 9. 最後,某人把
: http://java.sun.com/docs/books/jls/third_edition/html/exceptions.html
: 再仔細看了一次,才發現,其實 Java 規格書很簡單的就把事情講清楚了;
: (易言之,某人之前的碎碎唸像是在重新發明輪子一樣…)
在信件有討論規格書將 checked exception 和 unchecked exception 定義的很詳細
但是沒有說明為什麼 InterruptedException 被劃分在 checked exception....
某人和有人都同意這背後的原因沒有被提到。
此時,有人提出他自己的看法:
InterruptedException 是 checked exception 的原因:
1. 被 interrupt 會使工作失敗 (sleep 到一半就醒來。)
2. 被 interrupt 是在需求中的行為。
3. 此例外可以輕易修復。
輕易修復是指比起用 if-then-else 來阻止例外發生,用 try-catch 更容易
讓程式恢復正常運作。
對照 unchecked exception:
ArithmeticException 是 unchecked exception 的原因:
1. 除數為零會使工作失敗。
2. 除數為零不是正常的 (或需求中的) 行為。
3. 此例外很難修復。
很難修復是指比起用 try-catch 來修補除數為零 (好比說將結果設為零)
用 if-then-else 來阻止例外發生更容易讓程式維持在正常的運作。
有人還舉了一個實例:
1.
if 除數為零 then
要求使用者重新輸入
else
進行計算
end if
2.
try
進行計算
catch 除數為零
要求使用者重新輸入
進行計算
end try-catch
上面兩個選項,第一種比較好。
至此,雙方似乎達成了共識,某人認為有人的想法很有趣,值得放到板上分享
這些想法對讀者可能會有幫助,有人也認為自己的想法該被眾人檢視一下了 (?
如果有任何意見或是指正都歡迎提出來 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.13
推
10/10 10:02, , 1F
10/10 10:02, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 12 之 12 篇):