项目中的异常处理应不应该获取后重新抛?
生活随笔
收集整理的這篇文章主要介紹了
项目中的异常处理应不应该获取后重新抛?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、處理異常的方法
- 二、問題
- 解決
前言
工作項目中的異常處理
提示:以下是本篇文章正文內容,下面案例可供參考
一、處理異常的方法
一般在開發中,我們會有業務異常和程序異常兩種。
往往我們在catch異常的時候會進行重新拋出一個新的異常。
其實這種寫法是很不正確的當然由于各個開發人員水平,以及項目的緊湊度,往往會忽略這些事情。簡單舉例!
示例:
public void xxx(String xxx) {try {xxx} catch (自定義異常 e) {throw new 新的異常();}catch (Exception e){throw new 新的異常();}}二、問題
問題還是很明顯的,我們就失去了對真實異常的獲取,特別在公司中,我們的項目日志打印,很大程度上決定我們對項目錯誤的定位和解決的時長。正確拋出其異常就顯得很重要。畢竟我們catch到異常后,再次拋出就是新實例化一個新的異常對象了,這也就拋去了真實的異常。
解決
其實解決方案多種,僅供參考。
一種就是如下,在catch異常是對相關異常進行打印。
第二種就是,將原始異常上拋,特別是在對一個方法層層調用的時候,往往由于異常處理后上拋這種方法,導致問題的定位緩慢。
當然個人編碼習慣或者具體業務要求不同,(我有時候也是catch重新拋,不過都是顯而易見的錯誤時這樣)以上僅以個人觀點,歡迎討論留言。如果感興趣,關注一下,感謝!
總結
以上是生活随笔為你收集整理的项目中的异常处理应不应该获取后重新抛?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈一个缓存小实践,另外还有更多案例,欢
- 下一篇: 判空前后顺序的思考(代码规范)