W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Scala中的異常處理以不同的方式實(shí)現(xiàn),但它的行為與Java完全相同,并與現(xiàn)有的Java庫無縫協(xié)作。
Scala中的所有異常都未選中;沒有檢查異常的概念。
拋出異常在Scala和Java中是一樣的。
throw new Exception("some exception...")
try/finally結(jié)構(gòu)在Scala和Java中也是一樣的,如下面的代碼所示。
try { throw newException("some exception...") } finally{ println("This will always be printed") }
try/catch在Scala是一個(gè)表達(dá)式,導(dǎo)致一個(gè)值。
Scala中的異??梢栽赾atch塊中進(jìn)行模式匹配,而不是為每個(gè)不同的異常提供單獨(dú)的catch子句。
因?yàn)镾cala中的try/catch是一個(gè)表達(dá)式,所以可以在try / catch中包裝調(diào)用,并在調(diào)用失敗時(shí)分配默認(rèn)值。
以下代碼顯示了具有模式匹配catch塊的基本try/catch表達(dá)式。
try { file.write(stuff) } catch{ case e:java.io.IOException => // handle IO Exception case n:NullPointerException => // handle null pointer }
以下代碼顯示了通過調(diào)用Integer.parseIntand在try/catch中包裝調(diào)用的示例,如果調(diào)用失敗,則分配默認(rèn)值。
try{ Integer.parseInt("dog") }catch{ case_ => 0 }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: