kotlin - Kotlin:如何在计算后调用 super?
问题描述
目前,我定义了一个自定义错误,如下所示:
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)
推荐阅读
- excel - 根据我们可能所在的前一个月过滤12个月前的数据,而无需手动输入开始和结束日期?
- c# - 为什么我的服务器无法响应来自网络浏览器的客户端请求?
- r - 如何在ggplot2的文本中下标字母或数字
- java - 如何使用 selenium 检查警报的可见性
- reactjs - 无法在反应js中获取道具中的数据
- web-services - 如何从外部监听客户端对 ASMX Web 服务服务器的调用?
- mongodb - 带有添加字段的 Mongolite 聚合查询
- php - 在 laravel 中使用 import excel 更新 join 2 表
- sql-server - 使用日期时间参数从 Excel PowerQuery 调用 SQL Server 存储过程对我不起作用
- kettle - 在转换中解析 CSV