java的異常處理

2021-08-27 22:29:52 字數 1610 閱讀 4568

今天主要講了一些異常處理

這方面的內容:

異常分為兩類,一類是非受檢異常 ,另一類為受檢異常。 顧名思義,非受檢異常,就是可以不處理的異常,因為這些異常要不就是太大,根本解決不了的,要不就是很輕微

,在throwable類下的

erro

和runtimeexception 

都屬於非受檢異常

。 受檢異常是必須

處理的異常,

exception類的除了

runtimeexcep

以外的所有子類都屬於受檢異常。

異常的處理主要有三種方式,第一種為捕獲,使用try-catch-finally

語句trycatch(異常型別 引用變數)

....finally

第二種為直接丟擲。很簡單,就是在方法簽名後throws

(注意有

s)加異常型別,方法體中

throw

乙個異常型別物件。

public static int divide(int x, int y )throws arithmeticexception

return x / y ; }

後面的try catch 

語句就省略不寫了,這樣就是直接丟擲異常了。

第三種呢,就是捕獲並丟擲異常,一般都會將捕獲的異常類包裝為自定義的異常類,這樣在以後的處理中,可以較快的分辨出異常所處的位置。一般情況下,會先自定義乙個異常類。

public class myexception extends exception

public myexception(exception e) }

public static int divide(int x, int y )throws myexceptioncatch(arithmeticexception e) }

同樣省略了後面的try catch

語句,這樣自定義異常的方式在後面應該會有很大的用處。  

有這麼多異常處理方式,到底什麼時候選用何種處理方式呢?簡單來說就是「如果是頂層方法 捕獲處理, 如果是底層方法 丟擲」我是這麼理解的,這裡說的頂層方法為main

()方法或

run方法,在這裡相當於是老大,底層方法為小弟,如果小弟在執行時發生異常,最好要丟擲,交給上級來解決,他自己繼續執行自己的程式,如果老大執行時有異常,丟擲也沒有意義了,因為丟擲的話只能交給

jvm了,也是程式崩潰,不如直接捕獲。

小弟剛剛接觸,理解不深,希望大神們不要介意。

還有,異常類是可以繼承的,不過繼承的時候要注意以下三點:

第一點:,方法重寫時,方法簽名一致(包括,返回值型別,方法名和引數列表);

第二點:子類的修飾符只能大於或者等於父類的修飾符。

第三點是需要特別注意的,就是子類丟擲異常的型別必須小於或者等於父類丟擲的異常型別。

今天主要就是這些內容了,其他時間都是老師在教我們簡單用了用eclipse

,估計以後大部分時間都用

eclipse

了,不過

wp大神推薦了一款很好的軟體

intlij,p

神推薦,肯定沒的說了,改天試一下。

今天的學習狀態感覺還可以吧,希望以後也能保持好這種狀態吧,今天就到這兒了,困了,洗洗睡了,感謝大神見證我的成長之路!

Java的異常處理

異常與錯誤 異常分為runtimeexception異常和checkedexception異常 檢查異常 checkedexception 執行期異常與檢查異常的區別 異常中一些關鍵字的用法 catch finally 用法如下 finally與return public static void m...

java異常的處理

1.異常的定義 就是在程式執行過程中所發生的不正常時間,它會中斷正在執行的程式。2.格式 trycatch 異常型別 物件名 finally public numberexception string message 測試異常 public class test catch numberexcept...

java的異常處理

1.只針對不正常的條件才使用異常 異常只應該被用於不正常的條件,它們永遠不應被用於正常的控制流。摘自 horrible abuse of exceptions.don t ever do this trycatch arrayindexoutofbound ception e 其錯有三 建立 丟擲和...