第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在方法內(nèi)部throw異常,必須要同時在方法頭部聲明throws嗎?

在方法內(nèi)部throw異常,必須要同時在方法頭部聲明throws嗎?

Qyouu 2019-02-22 16:26:20
下面節(jié)選自類 JSONObject: public String getString(String key) { this.verifyIsNull(); Object o = this.get(key); if(o != null) { return o.toString(); } else { throw new JSONException("JSONObject[" + JSONUtils.quote(key) + "] not found."); } } 以上直接拋出異常,而沒有在方法頭部聲明throws。 但是我自己寫的方法中,是同時有throw和throws的。去掉throws就會報錯: Unhundled Exception 。 這是為什么?
查看完整描述

2 回答

?
慕運維8079593

TA貢獻1876條經(jīng)驗 獲得超5個贊

java異常一般分為Checked異常和Runtime異常,所有RuntimeException類及其子類的實例被稱為Runtime異常,不屬于該范疇的異常則被稱為CheckedException。
Java認(rèn)為Checked異常都是可以被處理的異常,所以Java程序必須顯示處理Checked異常。如果程序沒有處理Checked異常,該程序在編譯時就會發(fā)生錯誤無法編譯。
RuntimeException異常如果沒有顯示的捕獲處理則由系統(tǒng)自動檢測并將它們交給缺省的異常處理程序。
JSONException應(yīng)該是RuntimeException的子類,可以不用顯式的對它try...catch或者throws.如果沒有對該異常的處理會交給jvm處理。
而你自己寫的異??隙ㄊ菍儆贑hecked異常,被認(rèn)為是可以避免的異常,必須try...catch或者顯式的拋出throws不然編譯報錯。如果你自定義的異常想像throw new JSONException這樣處理,則你自定義的異常需要繼承RuntimeException即可。

查看完整回答
反對 回復(fù) 2019-03-01
?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

JSONException RuntimeException(繼承) 是運行時異常 不用捕捉

查看完整回答
反對 回復(fù) 2019-03-01
  • 2 回答
  • 0 關(guān)注
  • 1573 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號