使用 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)
}