我的问题是rxJava错误由于在subscription()方法调用中缺少onError处理程序,因此未处理该异常。这是什么解决方法?
compositeDisposable.add(backendApi.createEphemeralKey(params)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { response ->
try {
val rawKey = response.string()
keyUpdateListener.onKeyUpdate(rawKey)`
} catch (e: IOException) {
keyUpdateListener
.onKeyUpdateFailure(0, e.message ?: "")
}
})
答案 0 :(得分:2)
如错误所示,
compositeDisposable.add(backendApi.createEphemeralKey(params)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe ({ response ->
val rawKey = response.string()
keyUpdateListener.onKeyUpdate(rawKey)
}, // onError goes here as 2nd lambda parameter
{e ->
keyUpdateListener.onKeyUpdateFailure(0, e.message ?: "")
})
)
这是基本的错误处理,请参考文档 Error Handling Operators
警告:您的问题太基本了,已经回答了,您将收到拒绝投票和重复的标志。
编辑:我认为签名差异是因为您使用的Rx版本。无论如何,以上内容应与RxJava2一起使用,并且您的模块至少针对Java 8,以支持lambda。