課程
/后端開發(fā)
/Java
/Java入門第三季
為什么前兩個會出現(xiàn)異常,而最后一個result卻沒有異常
2017-10-18
源自:Java入門第三季 1-3
正在回答
那請問為什么第三個程序不會出現(xiàn)紅字呢,異常了不應該會出現(xiàn)紅字提示嗎
人間臥底666
Z華L
test3里的result也拋出了異常。系統(tǒng)執(zhí)行流程是這樣的:首先,執(zhí)行try里的while loop,當divide =1時,通過計算得到結(jié)果并把結(jié)果381賦值給result,然后循環(huán)繼續(xù)執(zhí)行while loop, 這時divide-1=0,系統(tǒng)發(fā)現(xiàn)除數(shù)不能等于0,所以拋出異常,但result的值任然是381因為它并沒有被改變。在test1 和 test2,他后來分別又在catch或finally語句中對result的結(jié)果賦值,而test3是直接返回result沒有對它進行任何賦值,所以我們看到運行三個test時result是不一樣的。但三個test其實都是拋出了異常的,最大的原因是你看test3執(zhí)行了catch,說明異常拋出。
qq_我想我遇到你了_0 提問者
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答出現(xiàn)異常
1 回答為什么我的程序會出現(xiàn)異常
3 回答如何不出現(xiàn)異常
4 回答我這里怎么會 出現(xiàn)異常?。。?/p>
2 回答為什么會拋出空指針異常?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2017-10-20
那請問為什么第三個程序不會出現(xiàn)紅字呢,異常了不應該會出現(xiàn)紅字提示嗎
2017-10-19
test3里的result也拋出了異常。系統(tǒng)執(zhí)行流程是這樣的:首先,執(zhí)行try里的while loop,當divide =1時,通過計算得到結(jié)果并把結(jié)果381賦值給result,然后循環(huán)繼續(xù)執(zhí)行while loop, 這時divide-1=0,系統(tǒng)發(fā)現(xiàn)除數(shù)不能等于0,所以拋出異常,但result的值任然是381因為它并沒有被改變。在test1 和 test2,他后來分別又在catch或finally語句中對result的結(jié)果賦值,而test3是直接返回result沒有對它進行任何賦值,所以我們看到運行三個test時result是不一樣的。但三個test其實都是拋出了異常的,最大的原因是你看test3執(zhí)行了catch,說明異常拋出。