一、Try…Catch
捕获分支异常的匹配类型
表达式,可以用来赋值
package net.println.kotlin.chapters
/** * @author:wangdong * @description: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) {
//将异常信息打印出来
e.printStackTrace()
println("您确定输入的是整数吗?")
} catch (e: ArrayIndexOutOfBoundsException) {
e.printStackTrace()
println("您确定输入的是两个整数吗?")
} catch (e: Exception) {
println("程序出现了未知异常,可能是您的人品太差了。${e.message}")
//finally总会执行的
} finally {
println("谢谢您使用我们的加法计算器")
}
}
fun sum(arg1: Int, arg2: Int): Int {
return arg1 + arg2
}
二、Finally
finally 无论代码是否抛出异常都是会执行的
注意下面的写法
val x: Int = 3;
val y: Int = 4
var z = 0
try {
z = x/y
}catch (e: Exception){
z = 0
//finally无论如何都是会被执行到的
}finally {
println("程序执行完毕")
}