作者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)
推 PsMonkey:繼續繼續阿... [拉板凳看戲] 10/05 14:19
→ AmosYang:沒戲唱了 XD 剛補上了一篇文章的連結; 該文講得比較詳細 10/05 14:25
→ AmosYang:說到看戲…我這裡有批生薑,好便宜的… XD 10/05 14:31
推 PsMonkey:==.==== 生薑? 這個梗好難懂.... (糟糕,版主又亂來了 10/05 15:18
推 H45:sleep 被意外中斷很容易修復,所以被包在 checked exception 10/05 16:02
→ AmosYang:無法理解 H45 推文裡的邏輯… 10/06 08:09
→ AmosYang:生薑… sex 板 鬍子之亂 最新的梗… XD 10/06 08:10
推 H45:因為你說劃分在 checked exception 的理由一言難盡,所以我就. 10/06 08:57
→ H45:用一言把 sleep 被劃在 checked exception 的理由說完 :-) 10/06 08:58