kotlin - 如果调用标有 @Throws(IOException::class) 的方法,则调用不适当的阻塞方法
问题描述
suspend fun load(): List<Device> {
...
val response = withContext(Dispatchers.IO) {
request.auth(authorizer).get(uri)
}
return response.data.devices
}
在上面的代码中,调用auth
有效,因为它没有标记,@Throws
但get
看起来像这样:
@Throws(RequestFailedException::class, IOException::class, SigningException::class)
operator fun get(uri: URI): RestResponse
IntelliJ 将get
-Function标记为Inappropriate blocking method call
我不确定这是否是假/阳性。如果不是 - 我应该如何处理这种情况?(我无法重写get
-Function ...)
我发现这个问题报告https://youtrack.jetbrains.com/issue/KT-39684并尝试升级到协程 1.4.0 并降级到 1.8.3 - 没有任何帮助
解决方案
推荐阅读
- azure - 本地数据库到 Azure SQL 数据库并持续同步
- javascript - Shift选项卡不保留元素焦点
- python - 如何将 3 个列表值与 If 条件进行比较
- c# - 为什么 xUnit 测试没有变成绿色?
- python - 使用 unittest 测试烧瓶应用程序时出错
- ruby - 使用 OptParser 在 Ruby 脚本中访问命令行选项文字
- r - 如果存在多行,则 R_exclude 具有包含值的列的行
- android - 运行从 android APK 编译的 ELF 二进制文件需要什么?(了解 android 内部结构)
- sql - 如何将 YYYYMM 转换/提取为年份和月份名称?Teradata SQL
- ibm-doors - 如何创建一个视图来显示单个项目下所有正式模块中的所有现有属性 DOORS?