Kotlin finally块

Kotlin finally是这样的块:无论是否处理异常,它总是执行。 所以它用于执行重要的代码语句。

Kotlin finally块示例1

下面我们看一个异常处理的例子,但这个示例中不会发生异常。

fun main (args: Array<String>){  
    try {  
        val data = 10 / 5  
        println(data)  
    } catch (e: NullPointerException) {  
        println(e)  
    } finally {  
        println("finally block always executes")  
    }  
    println("below codes...")  
}

执行上面示例代码,得到以下结果 -

2
finally block always executes
below codes...

Kotlin finally块示例2

下面来看一个异常处理的例子,此示例代码将会发生异常但没有处理。

fun main (args: Array<String>){  
    try {  
        val data = 5 / 0  
        println(data)  
    } catch (e: NullPointerException) {  
        println(e)  
    } finally {  
        println("finally block always executes")  
    }  
    println("below codes...")  
}

执行上面示例代码,得到以下结果 -

finally block always executes
Exception in thread "main" java.lang.ArithmeticException: / by zero

Kotlin finally块示例3

下面来看一个异常处理的例子,此示例代码将会发生并处理异常。

fun main (args: Array<String>){  
    try {  
        val data = 5 / 0  
        println(data)  
    } catch (e: ArithmeticException) {  
        println(e)  
    } finally {  
        println("finally block always executes")  
    }  
    println("below codes...")  
}

执行上面示例代码,得到以下结果 -

java.lang.ArithmeticException: / by zero
finally block always executes
below codes...

注意:如果程序退出(通过调用exitProcess(Int)或导致进程中止的任何错误),将不执行finally块。


上一篇:Kotlin嵌套try-catch块

下一篇:Kotlin throw关键字

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程