java - 致命异常:io.reactivex.exceptions.UndeliverableException java.lang.Throwable: UNAUTHORIZED / TOKEN_EXPIRED
问题描述
我在 crashlytics 中收到以下错误,但找不到重现该错误的方法。它们被 crashlytics 聚合为相同的错误,但有些设备因UNAUTHORISED
错误而失败,有些则因错误而失败TOKEN_EXPIRED
。
Fatal Exception: io.reactivex.exceptions.UndeliverableException: java.lang.Throwable: UNAUTHORIZED
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)
at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:74)
at data.repositories.twilio_chat.TwilioChatRepository$6$1.onError(TwilioChatRepository.java:318)
at java.lang.reflect.Method.invoke(Method.java)
at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy17.onError()
at com.twilio.chat.internal.CallbackListenerForwarder$2.run(CallbackListenerForwarder.java:47)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7660)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
和
Fatal Exception: io.reactivex.exceptions.UndeliverableException: java.lang.Throwable: TOKEN_EXPIRED
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)
at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:74)
at data.repositories.twilio_chat.TwilioChatRepository$6$1.onError(TwilioChatRepository.java:318)
at java.lang.reflect.Method.invoke(Method.java)
at com.twilio.chat.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy16.onError()
at com.twilio.chat.internal.CallbackListenerForwarder$2.run(CallbackListenerForwarder.java:47)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8447)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
下面的代码显示了错误的来源,我为显示第 318 行的堆栈跟踪添加了注释。
public Observable<List<ChannelDescriptor>> getChannelDescriptors() {
return Observable.create(new ObservableOnSubscribe<List<ChannelDescriptor>>() {
@Override
public void subscribe(final ObservableEmitter<List<ChannelDescriptor>> emitter) throws Exception {
Channels channels = chatClient.getChannels();
channels.getUserChannelsList(new CallbackListener<Paginator<ChannelDescriptor>>() {
@Override
public void onSuccess(Paginator<ChannelDescriptor> channelDescriptorPaginator) {
emitter.onNext(channelDescriptorPaginator.getItems());
emitter.onComplete();
}
@Override
public void onError(ErrorInfo errorInfo) {
emitter.onError(new Throwable(errorInfo.getMessage())); //THIS IS LINE 318
super.onError(errorInfo);
}
});
}
});
}
我真的很困惑什么会导致调用和崩溃CallbackListener
时导致错误。onError
这是文档的链接CallbackListener
:https://media.twiliocdn.com/sdk/android/chat/releases/0.11.2/docs/com/twilio/chat/CallbackListener.html#onError-com.twilio.chat .ErrorInfo-
解决方案
推荐阅读
- c# - 如何简化相互依赖的绑定?
- java - Getter Setter 不会给出变量
- c - Mingw64 / Msys2 - gcc 无法在自己的包含目录中找到标头
- javascript - 为了能够使用 Phaser、PixiJS 和 EaselJS 等库,我是否只需要与源建立“连接”来下载库?
- java - Spring Boot Mvc 多 servlet
- python - 如何将表达式与 sympy 集成?
- bash - 迭代执行 gradle 命令
- excel - 如何格式化excel电子表格中的每条评论?
- python - 如何使用 boto3 访问 AWS S3 数据
- javascript - 你如何将数据添加到 .json 文件