首页 > 解决方案 > 致命异常: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这是文档的链接CallbackListenerhttps://media.twiliocdn.com/sdk/android/chat/releases/0.11.2/docs/com/twilio/chat/CallbackListener.html#onError-com.twilio.chat .ErrorInfo-

标签: javatwilio

解决方案


推荐阅读