如何在Kotlin中抛出自定义异常?我没有从文档中得到那么多......
在文档中,它描述了每个异常需要什么,但我究竟该如何实现呢?
答案 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个构造函数,并且只传递参数。