Kotlin try-catch,在上一个教程中,我们学习了什么是异常处理。在本指南中,我们将看到try catch
块的各种示例。我们还将看到如何使用try
作为表达式。
try catch
块的语法
try {
//code where an exception can occur
}
catch (e: SomeException) {
// handle the exception
}
finally {
// optional block but executes always
}
try
块可以与多个catch
块相关联,但是只能存在一个finally
块。
Kotlin try catch
块示例
在这个例子中,我们放置了可能导致try
块内异常的代码。一旦异常发生在try
块内,它就会查找处理发生的异常的相应catch
块。由于在代码中发生了ArithmeticException
并且在catch
块中处理了相同的异常,因此执行catch
块中的代码。
异常处理的主要优点是程序不会突然终止。在以下示例中,最后一个println
语句println("Out of try catch block")
在catch
块之后执行。如果我们没有进行异常处理,则不会执行此语句,因为程序将在行var num = 100/0
上终止
fun main(args: Array<String>) {
try{
var num = 100/0
println(num)
}
catch(e: ArithmeticException){
println("Arithmetic Error in the code")
}
println("Out of try catch block")
}
输出:
Kotlin 没有catch
块的try
块
try
块可以没有catch
块,但在这种情况下必须存在finally
块。 总之,你可以说至少应该有一个catch
或finally
块。finally
块是可选的,但是当没有catch
块时,必须有一个finally
块。
fun main(args: Array<String>) {
try{
var num = 10/5
println(num)
}
finally{
println("Finally block")
}
println("Out of try catch block")
}
输出:
2
Finally block
Out of try catch block