繁体   English   中英

Kotlin检查了例外情况

[英]Kotlin checked exceptions alternative

由于Kotlin不支持检查异常,因此如何让程序员意识到方法可能会抛出异常

简单的例子:

class Calculator (value: Int = 0) {

    fun divide (dividend: BigDecimal, divider: BigDecimal) : BigDecimal {
        return dividend / divider
    }
}

显然,divide方法可能会抛出java.lang.ArithmeticException: Division by zero异常,并且库的创建者需要警告类的用户将调用放在try-catch子句中

在Kotlin,这种意识的机制是什么?

鉴于语言没有明确的构造,唯一剩下的就是:隐式。

例如,通过将javadoc清楚地告诉用户该方法可能会向他抛出异常的原因。 或者您使用@Throws注释。

也许,也许kotlin团队会在某些时候添加编译器警告来弥补这一点(见这里 )。

您可以返回Try,以便客户端可以调用isSuccess或isFailure http://www.java-allandsundry.com/2017/12/kotlin-try-type-for-functional.html

你还可以返回可空类型BigDecimal? 这样客户端就会知道该值可能不存在(当除以零时,您可以返回null)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM