異常處理經驗談

2021-08-22 01:34:25 字數 847 閱讀 4381

1.異常處理相對於返回錯誤**的乙個最大優點在於,異常可以被自動傳遞,這樣,在程式設計時異常更加難以被忽視。

2.通常,只在最上層(一般是ui層)捕捉異常。如果要在其它層捕捉異常,除非是下列情況之一:

(1)能夠處理該異常,或者

(2)能夠忽略該異常,或者

(3)需要轉換該異常為其它特定異常後拋出新異常

3.ui層捕獲異常後,可以

(1)將無關緊要的異常忽略。

(2)將異常轉換為錯誤資訊展現給使用者。

(3)如果是重大異常,可以考慮終止應用程式。

4.最上層(一般是ui層)不得拋出新的異常;最上層需要捕捉所有異常,否則異常會直接導致程式終止,這將是非常不好的使用者體驗。

5.可以在非最上層拋出自定義異常。如果是自定義異常,請保證其是可序列化的,並且保證其實現了exception的三個建構函式。

6.異常的丟擲與截獲需要很多的cpu時間,請謹慎的使用異常。

7.在可能丟擲異常的地方,如果需要,請確保使用finally進行資源清理,而無論此處是否捕捉了異常。

8.在乙個catch塊中的**都應該至少部分地處理了所捕捉的異常。否則,就不要使用catch塊。

9.從建構函式中丟擲異常。

因為建構函式沒有返回值,所以沒有簡單的方法來想建構函式的呼叫者發出構造失敗的訊號,這時便可以通過丟擲異常來做到。比如構造引數與指定條件不符時,就丟擲乙個異常。

10.在以上前提的保證下,可以在非最上層使用aop截獲(intercept)異常而進行日誌記錄,這樣通過日誌記錄,我們可以了解系統的 執行狀態。記不起在**看到過這樣一句話:在軟體實現中,異常和日誌都是重要的質量保證手段,異常和日誌總是同時出現的。

可以說,異常是日誌記錄的重要/主要組成部分。

跳槽經驗談

每年年初跳槽最多,跳槽是一門學問,也是一種策略。跳槽並不意味著你就能夠取得職業的成功,當面臨跳槽時,如何順利地完成跳槽,從而取得職業的成功呢?以下是一些切身體會,值得大家參考。1 不要指望會一下子能夠跳到多麼好的公司,絕大多數公司都乙個樣子。比如用友 金蝶 亞信 神馬這些公司,其實基本上乙個樣子。2...

程式設計經驗談

不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀察,...

程式設計經驗談

1 萬丈高樓平地起。基礎是一切技能的本源,只有打好基礎,才能談得上提高,才能談得上有靈感,有突破。2 書上學的終覺淺。程式設計是一門實踐性極強的工作,只有通過不斷的程式設計實踐,才能積累程式設計經驗 提高程式設計能力,才能真正成為一名合格的開發者。3 曲徑通幽處。學習程式設計的道路是充滿艱辛的,漫長...