這樣的錯(cuò)誤以前我也犯過,也見過不少人這樣的寫法!下面我也舉個(gè)例子:


















上面是個(gè)簡(jiǎn)單的方法,代碼中有個(gè)隱藏的bug。我在維護(hù)一個(gè)系統(tǒng)的時(shí)候就遇到類似的代碼,實(shí)際中類似的BUG隱藏
的更深!在對(duì)系統(tǒng)業(yè)務(wù)和代碼不是很很熟悉的情況下,我推薦如下寫法:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

一般來說異常處理不推薦直接system.out.println打印出來!
幾條建議:
如果無法處理某個(gè)異常,那就不要捕獲它。
☆ 如果捕獲了一個(gè)異常,請(qǐng)不要胡亂處理它。
☆ 盡量在靠近異常被拋出的地方捕獲異常。
☆ 在捕獲異常的地方將它記錄到日志中,除非您打算將它重新拋出。
☆ 按照您的異常處理必須多精細(xì)來構(gòu)造您的方法。
☆ 需要用幾種類型的異常就用幾種,尤其是對(duì)于應(yīng)用程序異常。
☆ 把低層次的異常封裝成層次較高程序員較容易理解的異常。
☆ 盡量輸出造成異常的完整數(shù)據(jù)
☆ 盡量捕獲具有特定含義的異常:比如SqlException,而不是簡(jiǎn)單地捕獲一個(gè)Exception
希望對(duì)大家有幫助!
參考:
http://www.aygfsteel.com/usherlight/archive/2006/10/23/76782.html