日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java学习笔记五】Java异常处理

發布時間:2023/11/30 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java学习笔记五】Java异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

異常通常分為三類:

  • 程序可控制的異常:一般是可預見的錯誤,不是致命的。例如:除數為0,數組下標越界。
  • 程序不可控制的的異常:這種異常往往是致命的,但是系統可以預見的。例如:系統棧溢出。
  • 人為異常

當系統底層出現異常時,實際上是將異常用一個對象包裝起來,傳給調用方,這個過程叫做拋出。

異常類一般都是Exception的子類,類名通常以Exception結尾。例如,NullPointerException是一種比較常見的異常,叫做“未分配內存異常”,通常一個對象需要用new來分配內存,如果沒有分配內存的情況下就訪問它,就會拋出這種錯誤。

Throwable類是類庫java.lang包中的一個類,該類不能直接使用,它派生了兩個子類,Exception和Error。其中Error是表示恢復很困難的一種嚴重錯誤,由系統保留。

  • ArithmeticException: 算術異常,如除數為0。
  • ArrayIndexOutOfBoundsException:數組越界異常。
  • ArrayStoreException:數組存儲異常。
  • ClassCastException:類型轉換異常。
  • IllegalArgumentException:無效參數異常。
  • NegativeArraySizeException:數組尺寸為負異常。
  • NullPointerException:未分配內存異常。
  • NumberFormatException:數字格式異常。
  • StringIndexOutOfBoundsException:字符串越界異常

異常的就地捕獲(catch):當程序發生異常 時系統捕獲異常轉而處理異常代碼。
格式如下:

try {//可能出現異常的代碼} catch([xxx]Exception ex) {//[xxx]異常處理} [finally{//不管異常是否出現都要運行的代碼,例如關閉文件等操作}]

例如:

try{ 1:打開文件連接 2:讀文件 3:將文件中的字符串轉為數值 } catch(文件型異常 ex1){ /*處理文件型異常*/ } catch(字符串轉換型異常 ex2){ /*處理字符串轉換型異常*/ } catch(Exception ex){ /*處理其他不可預見的異常*/ } finally{ 4:關閉文件 }

復雜軟件之間可能由很多模塊構成,模塊之間存在復雜的調用關系,當莫格模塊發生異常時,可以不在模塊內處理異常,而將這個異常拋給調用方。

將需要將異常向前拋出的函數加上一個標記:throws XXXException,表示可能向前拋出某種異常。

例如:

public void woek() throws NullPointerException//如果拋出多種異常,各種異常之間用逗號隔開 {}

如果拋出所有類型的異常就直接throws Exception,如果一個方法有聲明異常,則調用這個的方法也必須聲明異常。

java中的main函數拋出的異常由JVM(java虛擬機)處理。

在java程序中如果異常都向外拋,直到try{}catch處捕獲;如果到了主方法(main方法)仍沒有捕獲,異常就由java虛擬機(java運行環境)處理

想要了解更多關于異常聲明可以移步:傳送門

總結

以上是生活随笔為你收集整理的【Java学习笔记五】Java异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。