java語言中的異常有多少種(java的異常有哪幾類)

本文目錄一覽:

JAVA中的異常有幾類

Throwable包含了錯誤(Error)和異常(Excetion兩類)

Exception又包含了運行時異常(RuntimeException, 又叫非檢查異常)和非運行時異常(又叫檢查異常)

(1) Error是程序無法處理了, 如果OutOfMemoryError、OutOfMemoryError等等, 這些異常發生時, java虛擬機一般會終止線程 .

(2) 運行時異常都是RuntimeException類及其子類,如 NullPointerException、IndexOutOfBoundsException等, 這些異常是不檢查的異常, 是在程序運行的時候可能會發生的, 所以程序可以捕捉, 也可以不捕捉. 這些錯誤一般是由程序的邏輯錯誤引起的, 程序應該從邏輯角度去盡量避免.

(3) 檢查異常是運行時異常以外的異常, 也是Exception及其子類, 這些異常從程序的角度來說是必須經過捕捉檢查處理的, 否則不能通過編譯. 如IOException、SQLException等

兩者的區別

非檢查異常表示無法讓程序恢復運行的異常,導致這種異常的原因通常是由於執行了錯誤的操作。一旦出現錯誤,建議讓程序終止。

受檢查異常表示程序可以處理的異常。如果拋出異常的方法本身不處理或者不能處理它,那麼方法的調用者就必須去處理該異常,否則調用會出錯,連編譯也無法通過。

對於運行異常,建議不要用 try…catch…捕獲處理,應該在程序開發調試的過程中盡量的避免,當然有一些必須要處理的,自己知道了那個部分會出現異常,而這種異常你要把它處理的你想要的結果,例如:空值處理。

最後學習java,就去湖南卓越新騰

常見JAVA運行時異常有哪些?

1、五種常見的異常:ClassCastException(類轉換異常)、IndexOutOfBoundsException(數組越界異常)、NullPointerException(空指針異常)、ArrayStoreException(數據存儲異常,操作數組時類型不一致)、BufferOverflowException(還有IO操作的,緩衝溢出異常)。

2、java運行時異常是可能在java虛擬機正常工作時拋出的異常。java提供了兩種異常機制。一種是運行時異常(RuntimeExepction),一種是檢查式異常(checked execption)。

檢查式異常:我們經常遇到的IO異常及sql異常就屬於檢查式異常。對於這種異常,java編譯器要求我們必須對出現的這些異常進行catch 所以 面對這種異常不管我們是否願意,只能自己去寫一堆catch來捕捉這些異常。

運行時異常:我們可以不處理。當出現這樣的異常時,總是由虛擬機接管。比如:我們從來沒有人去處理過NullPointerException異常,它就是運行時異常,並且這種異常還是最常見的異常之一。

擴展資料:

Java特點

Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載和多繼承特徵,並且不使用主文件,免去了預處理程序。

因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發上。

參考資料:百度百科-Java

Java編程中 常見的異常有哪幾種

相信作為程序員的我們在對程序進行編譯過程中經常會遇到錯誤,或者在運行過程中出現錯誤,在這裡主要跟大家談談經常遇到的一些異常與錯誤,以及解決辦法。

異常是指程序在編譯或運行過程出現的錯誤。

在java.lang包中Throwable包含了所有的異常。

Error (錯誤) 和Exception(異常)

(1)Error(錯誤)

一旦發生無法修復,但可以避免發生。

常見錯誤類:

IOError:I/O錯誤,當發生嚴重的I/O錯誤時,拋出此錯誤。

VirtualMachineError :虛擬機錯誤,當 Java 虛擬機崩潰或用盡了它繼續操作所需的資源時,拋出該錯誤。

StackOverflowError:棧內存滿了,當應用程序遞歸太深而發生堆棧溢出時,拋出該錯誤。

OutofMemoryError:堆內存滿了,因為內存溢出或沒有可用的內存提供給垃圾回收器時,Java 虛擬機無法分配一個對象,這時拋出該異常。

以上是一些常見的錯誤,在Error類中還有一些別的錯誤(參照文件Java.lang.Throwable.Error).

(2)Exception(異常)

一旦發生,可以捕獲並處理,不會導致程序終止,有時可以避免有時無法避免。

異常的分類:

1.編譯時異常(需要強制處理)       2.運行時異常(不需要強制處理)

常見的異常有:

IOException:輸入輸出流異常

FileNotFoundException:文件找不到的異常

ClassNotFoundException:類找不到的異常

DataFormatException:數據格式化異常

NoSuchFieldException:沒有匹配的屬性異常

NoSuchMethodException:沒有匹配的方法異常

SQLException:資料庫操作異常

TimeoutException:執行超時異常

常見的運行時異常:

RuntimeException:運行時異常

NullPointerException:空指針異常

ArrayIndexOutofBoundsException:數組越界異

ClassCastException:類型轉換異常

IllegalArgumentException:非法的參數異常

InputMismatchException:輸入不匹配

以上是常見的一些異常,另外還有別的異常,參見文件:Java.lang.Throwable.Exception

既然我們常常會遇到一些異常,那我們如何來處理這些異常就是一個急需解決的事情。

(1) 如何處理編譯時異常?

方法一:將需要處理的代碼塊放在一個try…catch…中

try{

//需要處理異常的代碼

}catch(XXXException ef){

ef.printStackTrace();

}

我們方法一就是要將我們不確定的代碼放入try……catch中,先進行try一下,如果沒有異常,則不會觸發catch,沒有輸出,一旦出現異常,那麼catch就會工作,在catch中捕獲異常信息,根據異常信息進行補救措施。

如以下代碼:

方法二:在出現異常的方法上直接向上拋出異常,throws

void ff() throws XXXException{

}

將出現的異常的代碼中,放入如上的方法中,就會將異常拋給該方法的上一級,在主函數上繼續向上拋,最終拋給JVM java虛擬機,讓JVM來解決該問題。

如代碼:

注意:在catch和throws的時候如果不確定是什麼異常,就直接寫一個Exception.

(2) 如何處理運行時異常?

1.一般情況下,運行時異常是不用處理的 

2.在某些情況下,如果對發生異常的結果進行處理,也可以對運行時異常進行try…catch…

以上就是一些我們處理編譯時異常和運行時異常的方法。

在程序出現異常時,有時候我們可以自定義異常,以便我們能夠發現是什麼異常。

那麼如何自定義異常??

1.當運行時,程序出現意外,可以拋出異常對象來結束程序

如:

//拋出運行時異常對象

RuntimeException ef = new RuntimeException(“下標越界!index:”+index+” ,size:”+size());

throw ef;

2.對於編譯時異常,同樣可以拋出異常對象

但在方法定義時候必須加上throws

如:

public void test(int t) throws Exception{

if (t 0 || t 100) {

Exception ef = new Exception(“數據錯誤”);

throw ef;

}

}

例如:

運行結果:

從結果可以看出,我們在輸入數據的時候出現錯誤,這樣通過自定義異常能夠讓我們更直接快速的找到運行或編譯時的異常。

在上述中我們分別提到了三種throw,分別是Throwable,Throws以及throw,那麼到底三者有什麼區別?

Throwable:是指在在Java.lang包中的一個類,其包含了所有的異常和錯誤,其中類Error和Exception 是它

的子類。

Thows:是指在解決編譯時異常,將方法中異常拋給上一級,在方法後面要加Throw Exception來進行拋。

throw:是指在自定義異常時,如果方法出現異常,那麼將作為引用方法的對象拋出。即拋出異常。

希望對您有所幫助!~

Java語言中常見的異常類型有哪些

Java語言中異常的分類是:受檢異常和非受檢異常,具體細分,自行搜索。。。。

Java中的異常有哪幾類

常見的異常有:

1、 java.lang.nullpointerexception 解釋是”程序遇上了空指針”,就是調用了未經初始化的對象或者是不存在。

2、java.lang.classnotfoundexception 解釋是”指定的類不存在”,這裡主要考慮一下類的名稱和路徑是否正確即可。

3、java.lang.arrayindexoutofboundsexception 解釋是”數組下標越界”,現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的範圍。

4、FileNotFoundException 解釋是「文件未找到異常」。

5、IOException 解釋是」輸入輸出流異常「。

6、NoSuchMethodException 解釋是”方法未找到異常”。

Java中的異常類型有哪些?

常見的異常有:

1、 java.lang.nullpointerexception 解釋是”程序遇上了空指針”,就是調用了未經初始化的對象或者是不存在。

2、java.lang.classnotfoundexception 解釋是”指定的類不存在”,這裡主要考慮一下類的名稱和路徑是否正確即可。

3、java.lang.arrayindexoutofboundsexception 解釋是”數組下標越界”,現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的範圍。

4、FileNotFoundException 解釋是「文件未找到異常」。

5、IOException 解釋是」輸入輸出流異常「。

6、NoSuchMethodException 解釋是”方法未找到異常”。

原創文章,作者:YT2D3,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130477.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YT2D3的頭像YT2D3
上一篇 2024-10-03 23:28
下一篇 2024-10-03 23:28

相關推薦

發表回復

登錄後才能評論