作者AmosYang (LetMeGoogleThatForYou)
看板java
标题Re: [J2SE] 请问delay的方法
时间Mon Oct 5 14:10:32 2009
※ 引述《AmosYang (LetMeGoogleThatForYou)》之铭言:
: ※ 引述《H45 (!H45)》之铭言:
: : 自己包成 RuntimeException 之後呼叫这个方法就不用到处加 try catch。
: : 推 PsMonkey:这招倒是没想过,我都乖乖包 try-catch XDXD 10/04 20:30
: : → H45:当sleep太多的时候,这是让程式码稍微乾净一点的小技巧 :D 10/04 20:36
: : → AmosYang:public static main(String[] x) throws Throwable // XD 10/04 23:27
:
: 碎碎念一下 :)
: 在写测试程式或 single-thread 程式时,这样写的确是简洁又方便,
: 但在写 multi-thread 程式时,可以参考这篇文章对 InterruptedException 的分析
: ( google://InterruptedException )
: Java theory and practice: Dealing with InterruptedException
: http://www.ibm.com/developerworks/java/library/j-jtp05236.html
:
: 推 H45:两者可以并存,因为我还是有抛出例外,外面要不要catch都可以 10/05 09:43
继续碎碎念,并没有针对任何人事物的意思,只是有感而发 :)
"Just because you can do something doesn't mean you should." :)
把 checked exception 包在 unchecked exception 里再 throw 的确在技术上是可行的
(更极端一点还可以多包一层 code 传回整数的 error code; 索性也不用 exception 了)
不过得看情形…
不同的 engineering practice 适用於不同的情形
如果这样做的目的是为了写测试程式方便,当然没有问题
如果这样做的目的是为了让 compiler 闭嘴,那就有点本末倒置了
某些 exception 被划分在 checked exception 有他的理由; 这些理由通常难以一言道尽
只有亲身去多接触不同类型、规模的程式才会体会 :)
--
本文与 Java 的关系… umm... 提到 checked exception 算不算? XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 65.87.177.87
有兴趣可以读一读这篇文章,针对 Java checked exception 的分析
http://tinyurl.com/yewgxls
http://littletutorials.com/2008/05/06/exceptional-java-checked-exceptions-are-priceless-for-everything-else-there-is-the-the-runtimeexception/
※ 编辑: AmosYang 来自: 65.87.177.87 (10/05 14:20)
1F:推 PsMonkey:继续继续阿... [拉板凳看戏] 10/05 14:19
2F:→ AmosYang:没戏唱了 XD 刚补上了一篇文章的连结; 该文讲得比较详细 10/05 14:25
3F:→ AmosYang:说到看戏…我这里有批生姜,好便宜的… XD 10/05 14:31
4F:推 PsMonkey:==.==== 生姜? 这个梗好难懂.... (糟糕,版主又乱来了 10/05 15:18
5F:推 H45:sleep 被意外中断很容易修复,所以被包在 checked exception 10/05 16:02
6F:→ AmosYang:无法理解 H45 推文里的逻辑… 10/06 08:09
7F:→ AmosYang:生姜… sex 板 胡子之乱 最新的梗… XD 10/06 08:10
8F:推 H45:因为你说划分在 checked exception 的理由一言难尽,所以我就. 10/06 08:57
9F:→ H45:用一言把 sleep 被划在 checked exception 的理由说完 :-) 10/06 08:58