无涯教程还可以在需要时使用嵌套的try块。嵌套的try catch块就是将一个try catch块实现为另一个try块的块。
当代码块生成异常并且该代码块中的另一个代码语句也生成另一个异常时,就会产生嵌套try catch块。
.. 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.
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)