有幾個問題需要幫助。
1、怎樣理解“包裝成運行時異?!??原始異常是哪類就是哪類,為什么要包裝成運行時異常呢? 2、catch(Exception?e)為什么總是e?e是形參嗎,那么它的實參在哪里? 3、catch子句里的RuntimeException?newExc=new?RuntimeException();此處的RuntimeException類是程序默認繼承嗎?還是默認導入? 4、newExc.initCause(e);此方法翻譯成漢語叫什么?有什么功能? 謝謝~
1、怎樣理解“包裝成運行時異?!??原始異常是哪類就是哪類,為什么要包裝成運行時異常呢? 2、catch(Exception?e)為什么總是e?e是形參嗎,那么它的實參在哪里? 3、catch子句里的RuntimeException?newExc=new?RuntimeException();此處的RuntimeException類是程序默認繼承嗎?還是默認導入? 4、newExc.initCause(e);此方法翻譯成漢語叫什么?有什么功能? 謝謝~
2016-02-05
舉報
2016-02-06
第二個問題問的好!同求!
對于以上四個問題我的理解是這樣的:
1、包裝的異常類應該是Exception的子類,至于使用RuntimeException類應該是舉個例子,使用現有的子類的方法比較方便。
2、Exception e的實例化個人感覺應該是由虛擬機實現的
3、RuntimeException類是Exception類的子類,都在java.lang包中,java編譯器自動加載了java.lang包的內容
4、這個可以查查api
2016-04-07
2,
e代表一個Exception對象
此對象通過try..catch撲獲
樓主可以想象Exception?e?=?new?Exception();
2016-02-20
2.e是形參,實參就是try中捕獲到的異常,確切來講,是test1()方法中拋出的某種異常類的對象,比如說,從throw new Exception()??? 就可以看出實際上是創(chuàng)建了一個Exception類的實例,然后再將實例拋出。因為Exception只是一個模板,但是我們會碰到各種各樣的Exception類的異常,引起異常的原因不同,他們的內容描述也不同,這樣可以理解為什么拋出的是類的對象。
4.initCause應該是initial cause的縮寫吧,大概就是“起因”的意思,initial 最初的,cause 原因。
作用:將傳入的對象設置為“原因”。如果這個對象已經被設置為“原因”,則拋出異常。
如果把這一條語句刪除,你會發(fā)現,test1()中的異常是不會被顯示在控制臺中。