kotlin - Kotlin : How to invoke super after some computation?

标签 kotlin error-handling

目前,我有一个自定义错误,如下所示:

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".


我该怎么做?

最佳答案

您可以将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)

关于kotlin - Kotlin : How to invoke super after some computation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55762820/

相关文章:

unit-testing - 测试 RxJava : AdvanceTime not working in simple deferred flowable

android - Kotlin 静态扩展函数 Android

exception - Kotlin协程异常处理——如何抽象try-catch

ios - AVFoundation 错误代码

jsf - 如何在 JSF 中显示我的应用程序的错误?

控制台打印Qt错误;如何查看它的来源?

java - 如何在 Kotlin 中实现 Memento 模式

java - Kotlin 中的注释不起作用

php - 如何在laravel中使用特殊消息管理特殊错误

error-handling - 如何处理无效 zlib 字节的 Dart 异常