Java異常分類

異常分類

image
  • 非受查異常
    • Error: Java虛擬機內(nèi)部或其他致命錯誤,無法挽救
    • RuntimeException: 因為代碼問題導(dǎo)致的錯誤(數(shù)組越界、空指針等等)
  • 受查異常
    • IOException: 由于用戶輸入/調(diào)用時傳入的參數(shù)導(dǎo)致的錯誤(字符串格式/文件是否存在等等)

注意

  • 必須用throw語句聲明受查異常,而對于非受查異常,要么無法挽救(Error),要么就是本身自己編寫的代碼就有問題(RuntimeException)
  • 子類重寫的方法異常聲明/拋出有限制:必須是比他的父類更加具體,或根本不拋出任何異常。

異常機制使用技巧

  • 不要把異常處理代替簡單的測試
  • 不要過分細化異常(可以try一個代碼塊,連續(xù)catch)
  • 利用異常層次結(jié)構(gòu)(拋出一個更具體的異常)
  • 在檢測錯誤時,“苛刻”要比放任更加重要(早拋出,拋出EmptyStackException會比后面的NullPointerException更好)
  • 不要羞于傳遞異常(晚捕獲,傳遞異常)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容