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