亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于throws聲明的問題

當我的catch這樣寫時

catch(DrunkException e){

? ? RuntimeException ?newExc = new RuntimeException("dsadsfa");

newExc.initCause(e);

? ? throw newExc;

? ? }

不需要聲明

但如果我把newExc 改成 Throwable 類時就需要了

catch(DrunkException e){

? ? Throwable newExc = new RuntimeException("dsadsfa");

newExc.initCause(e);

? ? throw newExc;

? ? }

這樣寫會報錯,讓你聲明一個Throwable。

雖然知道結果,但是原因還是不懂,所以想請教一下大家。

正在回答

1 回答

Throwable 類是 Java 語言中所有錯誤或異常的超類。只有當對象是此類(或其子類之一)的實例時,才能通過 Java 虛擬機或者 Java throw 語句拋出。類似地,只有此類或其子類之一才可以是 catch 子句中的參數類型。
兩個子類的實例,Error 和 Exception,通常用于指示發生了異常情況。通常,這些實例是在異常情況的上下文中新近創建的,因此包含了相關的信息(比如堆棧跟蹤數據)。?

Exception 類及其子類是 Throwable 的一種形式,它指出了合理的應用程序想要捕獲的條件

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于throws聲明的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號