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
块。