Kotlin 異常
Kotlin 的異常和 Java 的一樣, try...catch...finally程式碼塊處理異常,唯一一點不同是:Kotlin 的異常都是 Unchecked exceptions。
checked exceptions 是必須在方法上定義並且處理的異常,比如 Java 的 IoException。
Unchecked exceptions 不是必須處理的,比如 NullPointerException。
Kotlin 的異常這麼設計,估計是嘗試修正 Java 上異常沒有達到理論效果。
Kotlin 異常的使用和 Java 一樣:
val input = Files.newInputStream(path)
try {
var byte = input.read()
//
} catch (e: IOException) {
// logcat
} finally {
input.close()
}
方法採用註解的方式丟擲異常。
@Throws(IOException::class)
fun createDirectory(file: File) {
if (file.exists())
throw IOException("Directory already exists")
file.createNewFile()
}
參考
《Programming Kotlin》Stephen Samuel ,Stefan Bocutiu
《Kotlin in Action》Dmitry Jemerov,Svetlana Isakova
相關文章
- Kotlin實戰【五】Kotlin中的異常Kotlin
- Kotlin藝術探索之引數和異常Kotlin
- Android Studio: Kotlin使用DataBinding異常AndroidKotlin
- 用Kotlin的方式來處理網路異常Kotlin
- Android版kotlin協程入門(三):kotlin協程的異常處理AndroidKotlin
- kotlin學習筆記-異常好玩的list集合總結Kotlin筆記
- Kotlin DSL C++專案引入OpenCV異常處理(轉)KotlinC++OpenCV
- 異常篇——異常處理
- 異常和異常呼叫鏈
- Java 異常(二) 自定義異常Java
- Java checked異常和unchecked異常。Java
- 異常-編譯期異常和執行期異常的區別編譯
- 異常-throws的方式處理異常
- 異常處理與異常函式函式
- jmu-Java-06異常-01-常見異常Java
- hibernate異常之--count查詢異常
- Java 異常表與異常處理原理Java
- restframework 異常處理及自定義異常RESTFramework
- oracle 異常Oracle
- OutOfMemoryError異常Error
- Java異常Java
- 異常(Exception)Exception
- Java 異常Java
- 異常JavaJava
- 【java】異常Java
- java 異常Java
- Flutter 常見異常分析Flutter
- Java 異常(一) 異常概述及其架構Java架構
- MVC使用異常過濾器處理異常MVC過濾器
- 儲存過程——異常捕獲&列印異常資訊儲存過程
- C#規範整理·異常與自定義異常C#
- 異常-try...catch的方式處理異常1
- 異常-try...catch的方式處理異常2
- 異常-自定義異常的實現和測試
- python自定義異常,使用raise引發異常PythonAI
- C#自定義異常 統一異常處理C#
- MySQL定義異常和異常處理詳解MySql
- [jvm]常見的oom異常JVMOOM