目前,我已定义了一个自定义错误,如下所示:
class IsEvenError(message:String):Exception(message)
val n = 10;
if (n%2 == 0) {
throw IsEvenError("${n} is even");
}
问题是,每次要抛出错误消息时,我都必须手动将其写出。
我希望能够将错误消息嵌入类本身,因此我可以执行以下操作:
throw IsEvenError(n); // this should throw an error saying "10 is even".
我如何做到这一点?
答案 0 :(得分:6)
您可以将IsEvenError
更改为接受数字而不是字符串,然后将格式化的字符串传递给Exception
:
class IsEvenError(number: Int) : Exception("$number is even")
fun main() : Unit = throw IsEvenError(10)
产生:
Exception in thread "main" IsEvenError: 10 is even
at TestKt.main(Test.kt:2)