美文网首页
12. 异常---try...catch

12. 异常---try...catch

作者: 努力生活的西鱼 | 来源:发表于2019-11-18 19:43 被阅读0次
Kotlin
try...catch

Kotlin中所有异常类都是Throwable类的子孙类。

使用try...catch表达式来捕获异常:

fun main(args: Array<String>) {

    try {
        val arg1 = args[0].toInt();
        val arg2 = args[1].toInt();
        println("arg1 + arg2 = ${Sum(arg1,arg2)}");
    } catch (e:NumberFormatException) {
        println("你确定输入的是整数吗?");
    }catch (e:ArrayIndexOutOfBoundsException){
        println("你确定输入的是两个整数吗?");
    }finally {
        println("感谢你使用本软件加法器");
    }

}

fun Sum(arg1: Int, arg2: Int): Int {
    return arg1 + arg2;
}

可以有零到多个catch块。finally块可以省略。但是catch与finally块至少应该存在一个。

try是一个表达式,即它可以有一个返回值
fun main(args: Array<String>) {

    // try...catch作为表达式
    val result = try {
        args[0].toInt() / args[1].toInt();
    } catch (e: Exception) {
        e.printStackTrace();
        0;
    }

    println("result: $result");

}

try-表达式的返回值是try块中的最后一个表达式或者(所有)catch块中的最后一个表达式。
finally块中的内容不会影响表达式的结果。

相关文章

网友评论

      本文标题:12. 异常---try...catch

      本文链接:https://www.haomeiwen.com/subject/anobictx.html