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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

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

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

Qyouu 2019-02-22 16:26:20
下面節(jié)選自類(lèi) 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."); } } 以上直接拋出異常,而沒(méi)有在方法頭部聲明throws。 但是我自己寫(xiě)的方法中,是同時(shí)有throw和throws的。去掉throws就會(huì)報(bào)錯(cuò): Unhundled Exception 。 這是為什么?
查看完整描述

2 回答

?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊

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

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

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

JSONException RuntimeException(繼承) 是運(yùn)行時(shí)異常 不用捕捉

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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