java day 15

異常

JW}AFRQ3_N5ZJETUO0J7SQ.png
  • Thorwable類所有異常和錯誤的超類,有兩個子類Error和Exception,分別表示錯誤和異常其中異常類Exception又分為運行時異常(RuntimeException)和非運行時異常,這兩種異常有很大的區別,也稱之為不檢查異常(Unchecked Exception) 和檢查異常(Checked Exception)。

  • Error與Exception
    Error是程序無法處理的錯誤這些異常發生時, Java虛擬機(JVM)一般會選擇線程終止。
    Exception是程序本身可以處理的異常,這種異常分兩大類運行時異常和非運行時異常。 程序中應當盡可能去處理這些異常。

  • 運行時異常和非運行時異常
    運行時異常也稱是不檢查異常,程序中可以選擇捕獲處理,也可以不處理。這些異常一般是由程序邏輯錯誤引起的,程序應該從邏輯角度盡可能避免這類異常的發生。
    非運行時異常也稱檢查異常,從程序語法角度講是必須進行處理的異常,如果不處理,程序就不能編譯通過。
    對于非運行時異常(checked exception)必須要對其進行處理,否則無法通過編譯。
      處理方式有兩種:
      1.使用try..catch..finally進行捕獲;(一個try后面可以跟多個catch,但不管多少個,最多只會有一個catch塊被執行。)
      2.在產生異常的方法聲明后面寫上throws某一個Exception類型,如throws Exception,將異常拋出到外面一層去。

  • 自定義異常
      所謂自定義異常,通常就是定義一個類,去繼承Exception類或者它的子類。因為異常必須直接或者間接地繼承自Exception類。
      通常情況下,會直接繼承自Exception類,一般不會繼承某個運行時的異常類。
      自定義異常可以用于處理用戶登錄錯誤,用戶輸入錯誤提示等。

  • throws關鍵字和throw關鍵字有什么區別和聯系
    throw用來在方法體內拋出異常,而throws則是方法聲明處聲明異常。兩者有著一定的聯系,當一個方法使用throw拋出異常時,要么使用try/catch捕獲異常,要么用throws進行聲明,否者會出現編譯錯誤。

  • 今天學習了異常的類型和異常的處理,了解到了一些常見的異常,如java.lang.nullpointerexception(程序遇上了控制針)、java.lang.arrayindexoutofboundsexception(數組下標越界)等異常。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • 通俗編程——白話JAVA異常機制 - 代碼之道,編程之法 - 博客頻道 - CSDN.NEThttp://blog...
    葡萄喃喃囈語閱讀 3,202評論 0 25
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態方法,可以作為本類的靜態方法來...
    XLsn0w閱讀 1,267評論 0 2
  • 一年前看得一句頂一萬句,看完淚流滿面 世界上很多事情,件件藏著委屈 這本書被譽為""百年孤獨"其實也不無道理,...
    華秀一閱讀 7,454評論 64 84