Kotlin嵌套try-catch块

还可以在需要时使用嵌套的try块。 嵌套的try catch块就是这样一个块:其中一个try catch块在另一个try块中实现。

当一个代码块捕捉异常并且在该块内另一个代码语句也需要捕捉另一个异常时,就会有嵌套的try catch块的需要。

嵌套try块的语法

..   
try    
{    
    // code block   
    try    
    {    
        // code block   
    }    
    catch(e: SomeException)    
    {    
    }    
}    
catch(e: SomeException)    
{    
}    
..

Kotlin嵌套try块示例

fun main(args: Array<String>) {  
    val nume = intArrayOf(4, 8, 16, 32, 64, 128, 256, 512)  
    val deno = intArrayOf(2, 0, 4, 4, 0, 8)  
    try {  
        for (i in nume.indices) {  
            try {  
                println(nume[i].toString() + " / " + deno[i] + " is " + nume[i] / deno[i])  
            } catch (exc: ArithmeticException) {  
                println("Can't divided by Zero!")  
            }  

        }  
    } catch (exc: ArrayIndexOutOfBoundsException) {  
        println("Element not found.")  
    }  
}

执行上面示例代码,得到以下结果 -

4 / 2 is 2
Can't divided by Zero!
16 / 4 is 4
32 / 4 is 8
Can't divided by Zero!
128 / 8 is 16
Element not found.

上一篇:Kotlin try...catch块

下一篇:Kotlin finally块

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程