KotlinTips: getValueSafely 安全取值

Posted 技术小黑屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KotlinTips: getValueSafely 安全取值相关的知识,希望对你有一定的参考价值。

作用

  • 安全取值,增加稳定性
  • 规避繁琐的显式try-catch处理

代码

1
2
3
4
5
6
7
8
9
10
11
12
/**
 * 安全的获取值的信息,其过程中发生异常会自动处理,返回null
 * getValueAction 取值操作,可能发生异常
 * */
inline fun <T> getValueSafely(getValueAction: () -> T?): T? 
    return try 
        getValueAction()
     catch(t: Throwable) 
        t.printStackTrace()
        null
  

验证一番

1
2
3
4
5
6
7
8
9
10
11
12
fun testGetValueSafely() 
    val value1 = getValueSafely 
        1/ 0
  

    val value2 = getValueSafely 
        1 + 1
  

  value1.printLog()
  value2.printLog()

执行日志

1
2
03-21 16:55:05.649  5072  5072 I KotlinTips: null
03-21 16:55:05.649  5072  5072 I KotlinTips: 2

关于 KotlinTips

KotlinTips是一个关于Kotlin编码技巧的一个系列,希望通过轻量简单的形式介绍能对大家有帮助。

以上是关于KotlinTips: getValueSafely 安全取值的主要内容,如果未能解决你的问题,请参考以下文章

KotlinTips Elvis 快速返回

KotlinTips Elvis 快速返回

KotlinTips: getValueSafely 安全取值