Kotlin finally块

Kotlinfinally块阻塞了这样一个块, 无论是否处理异常, 该块始终执行。因此它用于执行重要的代码语句。
Kotlin最终阻止了示例1
让我们看一个不发生异常的异常处理示例。

fun main (args: Array< String> ){ try { val data = http://www.srcmini.com/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...

Kotlinfinally块示例2
让我们看一个异常处理的例子, 其中发生异常但未处理。
fun main (args: Array< String> ){ try { val data = http://www.srcmini.com/5 / 0 println(data) } catch (e: NullPointerException) { println(e) } finally { println("finally block always executes") } println("below codes...") }

【Kotlin finally块】输出:
finally block always executes Exception in thread "main" java.lang.ArithmeticException: / by zero

Kotlinfinally块了示例3
让我们看一个异常处理的例子, 其中发生并处理了异常。
fun main (args: Array< String> ){ try { val data = http://www.srcmini.com/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块。

    推荐阅读