kotlin - 在 kotlin 中抛出参数化异常的方法是什么?
问题描述
我有两个函数调用带有 try-catch 的代码块,例如:
fun <R: Any> executeRestCall(
block: () -> R
): R {
try {
return block()
} catch (ex: RestClientException) {
throw IllegalArgumentException(ex.message)
}
}
fun <R: Any> executeProcessCall(
block: () -> R
): R {
try {
return block()
} catch (ex: RuntimeException) {
throw IllegalStateException(ex.message)
}
}
我需要参数化所需的异常。如何重构此功能?
解决方案
我不确定你所说的参数化是什么意思
但是,如果您正在寻找一种方法来指示该函数将抛出什么异常,类似于throws
Java 中的工作方式 - 您可以在 kotlin 中使用 @Throws 注释
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-throws/
推荐阅读
- c# - 如何将临时变量声明为 C# 表达式?
- java - 是否可以抑制 bean 注入?
- magento2 - 如何在我的自定义小部件中呈现产品列表
- c# - 获取名称包含某些字符串的 Json 属性
- javascript - 为什么 JavaScript 添加的按钮没有默认间距?
- jquery - 将多个值从一个 html 页面传递到另一个 html 页面
- php - Laravel 类“数据表”未找到错误?
- angular - 使用 Angular4 渲染器在新行中渲染字符串的每个元素
- android - android:重启后注册接收器
- c++ - 从整数到枚举的首选转换样式 QEvent::Type