使用 try-catch-finally 捕獲異常

在 Kotlin 中捕獲異常看起來與 Java 非常相似

try {
    doSomething()
} 
catch(e: MyException) {
    handle(e)
} 
finally {
    cleanup()
}

你還可以捕獲多個異常

try {
    doSomething()
} 
catch(e: FileSystemException) {
    handle(e)
}
catch(e: NetworkException) {
    handle(e)
}
catch(e: MemoryException) {
    handle(e)
}
finally {
    cleanup()
}    

try 也是一個表示式,可能會返回值

val s: String? = try { getString() } catch (e: Exception) { null }

Kotlin 沒有檢查異常,因此你不必捕獲任何異常。

fun fileToString(file: File) : String {
    //readAllBytes throws IOException, but we can omit catching it
    fileContent = Files.readAllBytes(file)
    return String(fileContent)
}