Kotlin异常处理runCatching,getOrNull,onFailure,onSuccess(1)

Kotlin异常处理runCatching,getOrNull,onFailure,onSuccess(1)

fun main(args: Array) {
    var s1 = runCatching {
        1 / 1
    }.getOrNull()
    println(s1) //s1=1,打印1

    println("-")

    var s2 = runCatching {
        1 / 0 //发生异常
    }.getOrNull()
    println(s2) //s2为null

    println("--")

    runCatching {
        1 / 1
    }.onFailure {
        println("onFailure $it") //不会执行,因为runCatching没有失败
    }.onSuccess {
        println("onSuccess $it") //执行,因为runCatching成功
    }

    println("---")

    runCatching {
        1 / 0 //发生异常
    }.onFailure {
        println("onFailure $it") //执行,因为runCatching失敗了
    }.onSuccess {
        println("onSuccess $it") //不会执行,因为runCatching沒有成功
    }
}

1
-
null
--
onSuccess 1
---
onFailure java.lang.ArithmeticException: / by zero

kotlin异常处理try-catch-finally_zhangphil的博客-CSDN博客b-catch: java.lang.RuntimeException: b发生异常。kotlin异常处理try-catch-finally。https://blog.csdn.net/zhangphil/article/details/129800172

你可能感兴趣的:(kotlin,kotlin)