2011-12-05 52 views
0

我在我的應用程序中使用第三方庫,我不知道他們從調試拋出異常是什麼,很明顯,用我可以計算出他們中的一些但不是全部。知道什麼異常庫拋出和處理他們

那麼,有沒有辦法知道什麼異常可能沒有證件被拋出?

如果失敗了,我知道我可以catch (Exception),即使大多數指導原則建議不要這樣做,但如果我不抓住它們,它們只會冒泡到頂部異常處理程序?他們有什麼理由不能以這種方式處理?

+0

您在哪裏閱讀了這些指導方針,告訴您不要發現異常?您_should_趕上一般例外,或者您應該防止它們發生,記錄他們,響應/處理他們,等等... reccommend的定義對是通用的,不是純粹的真當如此含糊.... –

+0

同樣的討論:HTTP: //stackoverflow.com/questions/8382973/is-catch-throw-a-bad-practice –

+1

@DavidePiras閱讀了大量的網絡搜索我得出的結論是,如果你能處理異常,那麼你應該。如果你不能,那麼他們應該冒泡。我上面的意思是應該避免捕捉Exception類,但是我不能看到不這樣做,如果你不知道什麼是異常拋出 – Firedragon

回答

4

沒有來自第三方的庫文件,有沒有知道什麼異常會被拋出的方式。

在代碼中任何未捕獲的異常(如你提到)將泡沫達到頂搬運。雖然我不會建議全部捕獲所有異常(除非它是頂級記錄器或類似的東西)。您應該只處理可以從中恢復的異常。

+0

感謝您的評論。我認爲該團隊的意見是要抓住來自第三方的所有例外情況,並在發生時忽略它們。我不確定我是否同意這樣的想法,並得到其他處理策略的想法。 – Firedragon

相關問題