l

2013年2月22日 星期五

C. C. Agile 聚會Sprint 6 精華報導

Feb. 21 23:12~23:45

CCAgile-Sprint6

2/21號晚上第六次C. C. Agile每月聚會由Teddy分享:「搞懂Java例外處理的難題:Checked與Unchecked Exceptions不再是問題」。這次聚會場地換到位於台大附近的靈感咖啡,整個場地的氣氛還不錯,位置也還算寬敞。

一開場先提一個問題:有沒有人覺得自己寫的程式很穩定的?結果現場的朋友都很客氣的不舉…手。

螢幕快照 2013-02-21 下午11.16.47

 

系統不穩定會造成公司獲利下降的問題。而導致系統不穩定的原因有兩個,系統正確性不足系統強健度不足

螢幕快照 2013-02-21 下午11.20.02

 

增加軟體可靠度的方法可由contract specificationexception handling這兩方面著手。

螢幕快照 2013-02-21 下午11.24.02

 

Java語言原本希望藉由checked exception來提升程式開發人員對於例外處理的重視。

螢幕快照 2013-02-21 下午11.24.33

 

Java語言設計者希望用checked exception來代表「可修復的錯誤狀況」,用unchecked exception代表「不可修復的錯誤狀況(programming error,白話文叫做bug)」,。

螢幕快照 2013-02-21 下午11.29.47

 

Checked exception之所以叫做checked exception(受檢的例外或是被檢查的例外),指的是Java Compiler會幫鄉民們檢查checked exception的使用使否有符合所謂的handle-or-declare rule(捕捉或宣告原則)。違反此原則的程式Java Compiler將視為語法錯誤。

螢幕快照 2013-02-21 下午11.30.19

 

Checked exception所引發的幾個問題。

螢幕快照 2013-02-21 下午11.33.29

螢幕快照 2013-02-21 下午11.33.39

螢幕快照 2013-02-21 下午11.33.50

螢幕快照 2013-02-21 下午11.33.59

螢幕快照 2013-02-21 下午11.34.22

 

最後導致鄉民們內心怒吼:我不會處理Exception怎麼辦啊?

螢幕快照 2013-02-21 下午11.34.32

 

所以光是知道exception type是不足以設計例外處理程式,需要同時考量下列五個因素。

螢幕快照 2013-02-21 下午11.36.57

 

結尾做幾個簡單的思考練習,幫助大家把今天分享的內容串起來。

螢幕快照 2013-02-21 下午11.38.29

 

最後打個廣告,Teddy今年會開例外處理設計與重構的課程熱戀

螢幕快照 2013-02-21 下午11.39.50

***

今天分享的投影片內容Teddy放在「搞笑談軟工Facebook社團」當中,有需要的鄉民請自行下載。

***

友藏內心獨白:這一週的生活也太札實了一點吧,難道這是過年太爽的報應嗎挑眉質疑

沒有留言:

張貼留言