中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

JAVA異常分類及處理的方法

本篇內容主要講解“JAVA異常分類及處理的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JAVA異常分類及處理的方法”吧!

專注于為中小企業提供網站制作、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業赤城免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千余家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

一.JAVA 異常分類及處理

1. 概念

如果某個方法不能按照正常的途徑完成任務,就可以通過另一種路徑退出方法。在這種情況下會拋出一個封裝了錯誤信息的對象。此時,這個方法會立刻退出同時不返回任何值。另外,調用這個方法的其他代碼也無法繼續執行,異常處理機制會將代碼執行交給異常處理器。

JAVA異常分類及處理的方法

2. 異常分類

Throwable 是 Java 語言中所有錯誤或異常的超類。下一層分為 Error 和 Exception

Error

1. Error 類是指 java 運行時系統的內部錯誤和資源耗盡錯誤。應用程序不會拋出該類對象。如果出現了這樣的錯誤,除了告知用戶,剩下的就是盡力使程序安全的終止。

Exception(RuntimeException、CheckedException)

2. Exception 又有兩個分支,一個是運行時異常 RuntimeException ,一個是CheckedException。RuntimeException 如 : NullPointerException 、 ClassCastException ;一個是檢查異常CheckedException,如 I/O 錯誤導致的 IOException、SQLException。 RuntimeException 是那些可能在 Java 虛擬機正常運行期間拋出的異常的超類。 如果出現 RuntimeException,那么一定是程序員的錯誤.

檢查異常 CheckedException:一般是外部錯誤,這種異常都發生在編譯階段,Java 編譯器會強制程序去捕獲此類異常,即會出現要求你把這段可能出現異常的程序進行 try catch,該類異常一般包括幾個方面:

1. 試圖在文件尾部讀取數據

2. 試圖打開一個錯誤格式的 URL

3. 試圖根據給定的字符串查找 class 對象,而這個字符串表示的類并不存在

3. 異常的處理方式

遇到問題不進行具體處理,而是繼續拋給調用者 (throw,throws)

拋出異常有三種形式,一是 throw,一個 throws,還有一種系統自動拋異常。

JAVA異常分類及處理的方法

try catch 捕獲異常針對性處理方式

4. Throw 和 throws 的區別:

位置不同

1. throws 用在函數上,后面跟的是異常類,可以跟多個;而 throw 用在函數內,后面跟的是異常對象。

功能不同:

2. throws 用來聲明異常,讓調用者只知道該功能可能出現的問題,可以給出預先的處理方式;throw 拋出具體的問題對象,執行到 throw,功能就已經結束了,跳轉到調用者,并將具體的問題對象拋給調用者。也就是說 throw 語句獨立存在時,下面不要定義其他語句,因為執行不到。

3. throws 表示出現異常的一種可能性,并不一定會發生這些異常;throw 則是拋出了異常,執行 throw 則一定拋出了某種異常對象。

4. 兩者都是消極處理異常的方式,只是拋出或者可能拋出異常,但是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。

二. JAVA 反射

1. 動態語言

動態語言,是指程序在運行時可以改變其結構:新的函數可以引進,已有的函數可以被刪除等結構上的變化。比如常見的 JavaScript 就是動態語言,除此之外 Ruby,Python 等也屬于動態語言,而 C、C++則不屬于動態語言。從反射角度說 JAVA 屬于半動態語言。

2. 反射機制概念 (運行狀態中知道類所有的屬性和方法)

在 Java 中的反射機制是指在運行狀態中,對于任意一個類都能夠知道這個類所有的屬性和方法;并且對于任意一個對象,都能夠調用它的任意一個方法;這種動態獲取信息以及動態調用對象方法的功能成為 Java 語言的反射機制。

3. 反射的應用場合

編譯時類型和運行時類型

在 Java 程序中許多對象在運行是都會出現兩種類型:編譯時類型和運行時類型。 編譯時的類型由聲明對象時實用的類型來決定,運行時的類型由實際賦值給對象的類型決定 。如:

Person p=new Student();其中編譯時類型為 Person,運行時類型為 Student。

的編譯時類型無法獲取具體方法

程序在運行時還可能接收到外部傳入的對象,該對象的編譯時類型為 Object,但是程序有需要調用該對象的運行時類型的方法。為了解決這些問題,程序需要在運行時發現對象和類的真實信息。然而,如果編譯時根本無法預知該對象和類屬于哪些類,程序只能依靠運行時信息來發現該對象和類的真實信息,此時就必須使用到反射了。

4. Java 反射 API

反射 API 用來生成 JVM 中的類、接口或則對象的信息。

1. Class 類:反射的核心類,可以獲取類的屬性,方法等信息。

2. Field 類:Java.lang.reflec 包中的類,表示類的成員變量,可以用來獲取和設置類之中的屬性值。

3. Method 類: Java.lang.reflec 包中的類,表示類的方法,它可以用來獲取類中的方法信息或者執行方法。

4. Constructor 類: Java.lang.reflec 包中的類,表示類的構造方法。

5. 反射使用步驟(獲取 Class 對象、調用對象方法)

1. 獲取想要操作的類的 Class 對象,他是反射的核心,通過 Class 對象我們可以任意調用類的方法。

2. 調用 Class 類中的方法,既就是反射的使用階段。

3. 使用反射 API 來操作這些信息。

6. 獲取 Class 對象的 3 種方法

調用某個對象的 getClass()方法

Person p=new Person();

Class clazz=p.getClass();

調用某個類的 class 屬性來獲取該類對應的 Class 對象

Class clazz=Person.class;

使用 Class 類中的 forName()靜態方法(最安全/性能最好)

Class clazz=Class.forName("類的全路徑"); (最常用)

當我們獲得了想要操作的類的 Class 對象后,可以通過 Class 類中的方法獲取并查看該類中的方法和屬性。

JAVA異常分類及處理的方法

7. 創建對象的兩種方法

Class 對象的 newInstance()

1. 使用 Class 對象的 newInstance()方法來創建該 Class 對象對應類的實例,但是這種方法要求該 Class 對象對應的類有默認的空構造器。

調用 Constructor 對象的 newInstance()

2. 先使用 Class 對象獲取指定的 Constructor 對象,再調用 Constructor 對象的 newInstance()方法來創建 Class 對象對應類的實例,通過這種方法可以選定構造方法創建實例。

JAVA異常分類及處理的方法

一.JAVA 異常分類及處理

1. 概念

如果某個方法不能按照正常的途徑完成任務,就可以通過另一種路徑退出方法。在這種情況下會拋出一個封裝了錯誤信息的對象。此時,這個方法會立刻退出同時不返回任何值。另外,調用這個方法的其他代碼也無法繼續執行,異常處理機制會將代碼執行交給異常處理器。

JAVA異常分類及處理的方法

2. 異常分類

Throwable 是 Java 語言中所有錯誤或異常的超類。下一層分為 Error 和 Exception

Error

1. Error 類是指 java 運行時系統的內部錯誤和資源耗盡錯誤。應用程序不會拋出該類對象。如果出現了這樣的錯誤,除了告知用戶,剩下的就是盡力使程序安全的終止。

Exception(RuntimeException、CheckedException)

2. Exception 又有兩個分支,一個是運行時異常 RuntimeException ,一個是CheckedException。RuntimeException 如 : NullPointerException 、 ClassCastException ;一個是檢查異常CheckedException,如 I/O 錯誤導致的 IOException、SQLException。 RuntimeException 是那些可能在 Java 虛擬機正常運行期間拋出的異常的超類。 如果出現 RuntimeException,那么一定是程序員的錯誤.

檢查異常 CheckedException:一般是外部錯誤,這種異常都發生在編譯階段,Java 編譯器會強制程序去捕獲此類異常,即會出現要求你把這段可能出現異常的程序進行 try catch,該類異常一般包括幾個方面:

1. 試圖在文件尾部讀取數據

2. 試圖打開一個錯誤格式的 URL

3. 試圖根據給定的字符串查找 class 對象,而這個字符串表示的類并不存在

3. 異常的處理方式

遇到問題不進行具體處理,而是繼續拋給調用者 (throw,throws)

拋出異常有三種形式,一是 throw,一個 throws,還有一種系統自動拋異常。

JAVA異常分類及處理的方法

try catch 捕獲異常針對性處理方式

4. Throw 和 throws 的區別:

位置不同

1. throws 用在函數上,后面跟的是異常類,可以跟多個;而 throw 用在函數內,后面跟的是異常對象。

功能不同:

2. throws 用來聲明異常,讓調用者只知道該功能可能出現的問題,可以給出預先的處理方式;throw 拋出具體的問題對象,執行到 throw,功能就已經結束了,跳轉到調用者,并將具體的問題對象拋給調用者。也就是說 throw 語句獨立存在時,下面不要定義其他語句,因為執行不到。

3. throws 表示出現異常的一種可能性,并不一定會發生這些異常;throw 則是拋出了異常,執行 throw 則一定拋出了某種異常對象。

4. 兩者都是消極處理異常的方式,只是拋出或者可能拋出異常,但是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。

二. JAVA 反射

1. 動態語言

動態語言,是指程序在運行時可以改變其結構:新的函數可以引進,已有的函數可以被刪除等結構上的變化。比如常見的 JavaScript 就是動態語言,除此之外 Ruby,Python 等也屬于動態語言,而 C、C++則不屬于動態語言。從反射角度說 JAVA 屬于半動態語言。

2. 反射機制概念 (運行狀態中知道類所有的屬性和方法)

在 Java 中的反射機制是指在運行狀態中,對于任意一個類都能夠知道這個類所有的屬性和方法;并且對于任意一個對象,都能夠調用它的任意一個方法;這種動態獲取信息以及動態調用對象方法的功能成為 Java 語言的反射機制。

3. 反射的應用場合

編譯時類型和運行時類型

在 Java 程序中許多對象在運行是都會出現兩種類型:編譯時類型和運行時類型。 編譯時的類型由聲明對象時實用的類型來決定,運行時的類型由實際賦值給對象的類型決定 。如:

Person p=new Student();其中編譯時類型為 Person,運行時類型為 Student。

的編譯時類型無法獲取具體方法

程序在運行時還可能接收到外部傳入的對象,該對象的編譯時類型為 Object,但是程序有需要調用該對象的運行時類型的方法。為了解決這些問題,程序需要在運行時發現對象和類的真實信息。然而,如果編譯時根本無法預知該對象和類屬于哪些類,程序只能依靠運行時信息來發現該對象和類的真實信息,此時就必須使用到反射了。

4. Java 反射 API

反射 API 用來生成 JVM 中的類、接口或則對象的信息。

1. Class 類:反射的核心類,可以獲取類的屬性,方法等信息。

2. Field 類:Java.lang.reflec 包中的類,表示類的成員變量,可以用來獲取和設置類之中的屬性值。

3. Method 類: Java.lang.reflec 包中的類,表示類的方法,它可以用來獲取類中的方法信息或者執行方法。

4. Constructor 類: Java.lang.reflec 包中的類,表示類的構造方法。

5. 反射使用步驟(獲取 Class 對象、調用對象方法)

1. 獲取想要操作的類的 Class 對象,他是反射的核心,通過 Class 對象我們可以任意調用類的方法。

2. 調用 Class 類中的方法,既就是反射的使用階段。

3. 使用反射 API 來操作這些信息。

6. 獲取 Class 對象的 3 種方法

調用某個對象的 getClass()方法

Person p=new Person();

Class clazz=p.getClass();

調用某個類的 class 屬性來獲取該類對應的 Class 對象

Class clazz=Person.class;

使用 Class 類中的 forName()靜態方法(最安全/性能最好)

Class clazz=Class.forName("類的全路徑"); (最常用)

當我們獲得了想要操作的類的 Class 對象后,可以通過 Class 類中的方法獲取并查看該類中的方法和屬性。

JAVA異常分類及處理的方法

7. 創建對象的兩種方法

Class 對象的 newInstance()

1. 使用 Class 對象的 newInstance()方法來創建該 Class 對象對應類的實例,但是這種方法要求該 Class 對象對應的類有默認的空構造器。

調用 Constructor 對象的 newInstance()

2. 先使用 Class 對象獲取指定的 Constructor 對象,再調用 Constructor 對象的 newInstance()方法來創建 Class 對象對應類的實例,通過這種方法可以選定構造方法創建實例。

JAVA異常分類及處理的方法

到此,相信大家對“JAVA異常分類及處理的方法”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

文章題目:JAVA異常分類及處理的方法
地址分享:http://www.2m8n56k.cn/article6/giocog.html

成都網站建設公司_創新互聯,為您提供移動網站建設標簽優化品牌網站設計響應式網站網站設計公司用戶體驗

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司
主站蜘蛛池模板: 亚洲天堂视频在线免费观看 | 欧美片欧美日韩国产综合片 | 大美女香蕉丽人视频网站 | 国产在线综合一区二区三区 | 亚洲精品久久精品h成人 | 国产三级观看 | 久久在线免费观看视频 | 精品中文字幕久久久久久 | 亚洲一区二区三区一品精 | 手机看片免费基地你懂的 | 日本一区二区三区四区无限 | 日韩不卡在线 | 成人性毛片 | 印度最猛性ⅹxxxxx | 窝窝人体色 | 欧美亚洲国产视频 | 国产午夜精品久久久久免费视 | 亚洲国产人成中文幕一级二级 | 久久久综合结合狠狠狠97色 | 久久99精品久久久久久综合 | 久久免费精彩视频 | 成人黄页 | 欧美888| 91欧美一区二区三区综合在线 | 国产在线综合一区二区三区 | 三级做人爱c视频18三级 | 亚欧精品在线观看 | 成人午夜性a一级毛片美女 成人午夜亚洲影视在线观看 | 日韩三级在线 | 男人和女人的做刺激性视频 | 国产99视频精品一区 | 国产农村乱子伦精品视频 | 欧美日韩一区二区视频图片 | 久草在线资源 | 久久久久久久久久久久久久久久久 | 精品精品国产高清a毛片 | 国产精品一区在线免费观看 | 97在线碰碰观看免费高清 | 亚洲欧美日韩另类在线 | 在线播放另类 | 北岛玲亚洲一区在线观看 |