作者H45 (!H45)
看板java
标题Re: [J2SE] 请问delay的方法
时间Fri Oct 9 10:48:56 2009
※ 引述《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
1F:推 AmosYang:感谢有人整理 XD 10/10 10:02