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