Kotlin - Finally块

Kotlin - Finally块 首页 / Kotlin入门教程 / Kotlin - Finally块

无论是否处理异常,finally 块始终执行。因此,它用于执行重要的代码语句。

让无涯教程看一个不发生异常的异常处理示例。

无涯教程网

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...

让无涯教程看一个异常处理的例子,其中发生异常但未处理。

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

让无涯教程看一个异常处理的例子,其中发生并处理了异常。

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...

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术领导力实战笔记 -〔TGO鲲鹏会〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

讲好故事 -〔涵柏〕

程序员的测试课 -〔郑晔〕

编程高手必学的内存知识 -〔海纳〕

说透低代码 -〔陈旭〕

人人都用得上的数字化思维课 -〔付晓岩〕

后端工程师的高阶面经 -〔邓明〕

结构写作力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)