Kotlin - 抛出自定义异常

时间:2017-07-18 09:34:56

标签: exception kotlin

如何在Kotlin中抛出自定义异常?我没有从文档中得到那么多......

在文档中,它描述了每个异常需要什么,但我究竟该如何实现呢?

3 个答案:

答案 0 :(得分:42)

要记住一件事:如果您使用的是IntelliJ IDE,只需简单地复制/粘贴Java代码即可将其转换为Kotlin。

现在来看你的问题。如果要创建自定义Exception,只需扩展Exception类,如:

class TestException(message:String): Exception(message)

并抛出它:

throw TestException("Hey, I am testing it")

答案 1 :(得分:7)

像这样:

实施

class CustomException(message: String) : Exception(message)

用法

 fun main(args: Array<String>) {
     throw CustomException("Error!")            // >>> Exception in thread "main"
 }                                              // >>> CustomException: Error!

有关详细信息:Exceptions

答案 2 :(得分:4)

大多数答案都忽略了Exception有4个构造函数的事实。 如果您希望能够在正常例外起作用的所有情况下使用它,请执行以下操作:

class CustomException : Exception {
    constructor() : super()
    constructor(message: String) : super(message)
    constructor(message: String, cause: Throwable) : super(message, cause)
    constructor(cause: Throwable) : super(cause)
}

这将覆盖所有4个构造函数,并且只传递参数。