1. 程式人生 > >【第47條】不要忽略異常

【第47條】不要忽略異常

    作為本章的最後一條,此條目是一條“紀律”,一條你必須遵守的紀律。雖然這是顯而易見的道理,但卻很容易被違反。

    任何一個被丟擲的異常都是API設計者有意為之的,其中蘊含了特定的含義,所以千萬不能忽略它們!

try{
    ......
}catch (Exception e){
}

    這樣的程式碼並不十分罕見,這有可能是在程式碼堆砌階段的“簡單寫法”,也可能是程式設計師“偷懶”的寫法,當然也有可能是連“何為Exception”都不得而知的“高人”的作品。

    這裡犯了兩個錯誤。首先,就是本條要強調的,它忽略了捕獲來的異常。相當於是把異常抓來,然後“殺”掉它,也就是“裝沒看見”。

    另一個錯誤是,不該使用異常的超類Exception,而應該“具體異常,具體分析”。

    當然,有些場合還是需要“忽略掉”異常的,但至少要在catch塊中寫明註釋,這裡為什麼要忽略掉某種異常。而且這種情況的出現率絕不能太高。