真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

kotlin更多語言結構——>異常-創(chuàng)新互聯(lián)

異常類kotlin更多語言結構——&g
t;異常

Kotlin 中所有異常類都是 Throwable 類的子孫類。每個異常都有消息、堆?;厮菪畔⒁约翱蛇x的原因

創(chuàng)新互聯(lián)網(wǎng)站建設由有經(jīng)驗的網(wǎng)站設計師、開發(fā)人員和項目經(jīng)理組成的專業(yè)建站團隊,負責網(wǎng)站視覺設計、用戶體驗優(yōu)化、交互設計和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站制作、成都網(wǎng)站建設易于使用并且具有良好的響應性。

使用 throw-表達式來拋出異常

throw Exception("Hi There!")

使用 try-表達式來捕獲異常:

try { // 一些代碼 } catch (e: SomeException) { // 處理程序 } finally { // 可選的 finally 塊 }

可以有零到多個 catch 塊。finally 塊可以省略。但是 catch 與 finally 塊至少應該存在一個

Try 是一個表達式

try 是一個表達式,即它可以有一個返回值

val a: Int? = try { parseInt(input) } catch (e: NumberFormatException) { null }

try-表達式的返回值是 try 塊中的最后一個表達式或者是(所有)catch 塊中的最后一個表達式。finally塊中的內(nèi)容不會影響表達式的結果

受檢的異常

Kotlin 沒有受檢的異常。這其中有很多原因,但我們會提供一個簡單的例子。

以下是 JDK 中 StringBuilder 類實現(xiàn)的一個示例接口

Appendable append(CharSequence csq) throws IOException

這個簽名是什么意思?它是說,每次我追加一個字符串到一些東西(一個 StringBuilder、某種日志、一個控 制臺等)上時我就必須捕獲那些 IOException 。為什么?因為它可能正在執(zhí)行 IO 操作( Writer 也實現(xiàn)了Appendable )...... 所以它導致這種代碼隨處可?的出現(xiàn)

try { log.append(message) } catch (IOException e) { // 必須要安全 }

Nothing 類型

在 Kotlin 中 throw 是表達式,所以你可以使用它(比如)作為 Elvis 表達式的一部分:

val s = person.name ?: throw IllegalArgumentException("Name required")

throw 表達式的類型是特殊類型 Nothing。該類型沒有值,而是用于標記永遠不能達到的代碼位置。在你自己的代碼中,你可以使用 Nothing 來標記一個永遠不會返回的函數(shù)

fun fail(message: String): Nothing { throw IllegalArgumentException(message) }

當你調用該函數(shù)時,編譯器會知道在該調用后就不再繼續(xù)執(zhí)行了

val s = person.name ?: fail("Name required") println(s) // 在此已知“s”已初始化

可能會遇到這個類型的另一種情況是類型推斷。這個類型的可空變體 Nothing? 有一個可能的值是 null 。 如果用 null 來初始化一個要推斷類型的值,而又沒有其他信息可用于確定更具體的類型時,編譯器會推斷出Nothing? 類型

val x = null // “x”具有類型 `Nothing?` val l = listOf(null) // “l(fā)”具有類型 `List
網(wǎng)頁題目:kotlin更多語言結構——>異常-創(chuàng)新互聯(lián)
新聞來源:http://weahome.cn/article/ioisp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部