中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java程序常見異常及處理有哪些

發布時間:2022-04-08 16:00:19 來源:億速云 閱讀:499 作者:iii 欄目:編程語言

本篇內容介紹了“Java程序常見異常及處理有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、JDK中常見的異常情況

1、常見異常總結圖

2、java中異常分類

Throwable類有兩個直接子類:

(1)Exception:出現的問題是可以被捕獲的

(2)Error:系統錯誤,通常由JVM處理

3、被捕獲的異常分類

(1)Check異常: 派生自Exception的異常類,必須被捕獲或再次聲明拋出

(2)Runtime異常:派生自RuntimeException的異常類。使用throw語句可以隨時拋出這種異常對象 throw new ArithmeticException(…);

二、發生異常的原因

1、用戶輸入了非法數據。

2、要打開的文件不存在。

3、網絡通信是連接中斷

4、JVM內存溢出

三、java程序中幾種常見的異常以及出現此異常的原因

1、java.lang.NullpointerException(空指針異常)

原因:這個異常經常遇到,異常的原因是程序中有空指針,即程序中調用了未經初始化的對象或者是不存在的對象。

經常出現在創建對象,調用數組這些代碼中,比如對象未經初始化,或者圖片創建時的路徑錯誤等等。對數組代碼

中出現空指針,是把數組的初始化和數組元素的初始化搞混淆了。數組的初始化是對數組分配空間,而數組元素的

初始化,是給數組中的元素賦初始值

2、 java.lang.ClassNotFoundException(指定的類不存在)

原因:當試圖將一個String類型數據轉換為指定的數字類型,但該字符串不滿足數值型數據的要求時,就拋出這個異

常。例如將String類型的數據"123456"轉換為數值型數據時,是可以轉換的的。但是如果String類型的數據中包含了

非數字型的字符,如123*56,此時轉換為數值型時就會出現異常。系統就會捕捉到這個異常,并進行處理

3、java.lang.ClassNotFoundExceptio(指定的類不存在)

原因:是因為類的名稱和路徑不正確,通常都是程序試圖通過字符串來加載某個類的時候可能會引發異常。例如:

調用Class.forName()、或者調用ClassLoad的finaSystemClass()、或者是LoadClass()時出現異常

4、java.lang.IndexOutOfBoundsException(數組下標越界異常)

原因:查看程序中調用的數組或者字符串的下標值是不是超出了數組的范圍,一般來說,顯示調用數組不太容易出這

樣的錯,但隱式調用就有可能出錯了,還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是

事先聲明的,這個時候可以先查看一下數組的length,以免出現這個異常

5、java.lang.IllegalArgumentException(方法的參數錯誤)

例如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的會出現這個異常,如果程

序中存在這個異常,就要去檢查一下方法調用中的參數傳遞或參數值是不是有錯

6、java.lang.IllegalAccessException(沒有訪問權限)

當程序要調用一個類,但當前的方法即沒有對該類的訪問權限便會出現這個異常。如果程序中用了Package的情況下

有可能出現這個異常

7、java.lang.ArithmeticException(數學運算異常)

當數學運算中出現了除以零這樣的運算就會出這樣的異常。

8、java.lang.ClassCastException(數據類型轉換異常)

當試圖將對某個對象強制執行向下轉換,但該對象又不可轉換或又不可轉換為其子類的實例時將出現該異常

9、 java.lang.FileNotFoundException(文件未找到異常)

當程序打開一個不存在的文件來進行讀寫時將會引發該異常。該異常由FileInputStream,FileOutputStream,

RandomAccessFile的構造器聲明拋出,即使被操作的文件存在,但是由于某些原因不可訪問,比如打開一個

只有只讀權限的文件并向其中寫入數據,以上構造方法依然會引發異常

10、java.lang.ArrayStoreException(數組存儲異常)

當試圖將類型為不兼容類型的對象存入一個Object[]數組時將引發異常

11、java.lang.NoSuchMethodException(方法不存在異常)

當程序試圖通過反射來創建對象,訪問(修改或讀取)某個方法,但是該方法不存在就會引發異常。

12、 java.lang.EOFException(文件已結束異常)

當程序在輸入的過程中遇到文件或流的結尾時,引發異常。因此該異常用于檢查是否達到文件或流的結尾

13、java.lang.InstantiationException(實例化異常)

當試圖通過Class的newInstance()方法創建某個類的實例,但程序無法通過該構造器來創建該對象時引發。

Class對象表示一個抽象類,接口,數組類,基本類型 。該Class表示的類沒有對應的構造器。

14、java.lang.InterruptedException(被中止異常)

當某個線程處于長時間的等待、休眠或其他暫停狀態,而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。

15、java.lang.CloneNotSupportedException (不支持克隆異常)

當沒有實現Cloneable接口或者不支持克隆方法時,調用其clone()方法則拋出該異常

16、java.lang.OutOfMemoryException (內存不足錯誤)

當可用內存不足以讓Java虛擬機分配給一個對象時拋出該錯誤

17、java.lang.NoClassDefFoundException (未找到類定義錯誤)

當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤

“Java程序常見異常及處理有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金沙县| 泸溪县| 南通市| 绍兴县| 沧州市| 将乐县| 安阳市| 渑池县| 中卫市| 营口市| 涟水县| 太湖县| 石台县| 铁力市| 辽阳市| 澳门| 凤庆县| 双城市| 金乡县| 师宗县| 津市市| 辽阳市| 隆德县| 龙州县| 赣榆县| 荥经县| 滨海县| 合阳县| 仙居县| 荣昌县| 马边| 峡江县| 洱源县| 太仆寺旗| 咸宁市| 丹寨县| 柳林县| 舒兰市| 双牌县| 汉寿县| 河南省|