2017-07-05 18 views
1

私はRetofit2とRxJava2を使ってAPIからデータを取得しています。私は、次のコードRetrofit2とRxJava2:ネットワークエラーを検出する方法

Observable<Recipe> recipeObservable = getDataManager().getRecipes(String.valueOf(page)); 

     recipeObservable.subscribeOn(Schedulers.newThread()) 
       .observeOn(AndroidSchedulers.mainThread()) 
       .subscribe(new Observer<Recipe>() { 
        @Override 
        public void onSubscribe(@NonNull Disposable d) { 

        } 

        @Override 
        public void onNext(@NonNull Recipe recipe) { 

         getMvpView().updateRecipeList(recipe.getResults()); 
         ++page; 
         //getMvpView().hideLoading(); 
        } 

        @Override 
        public void onError(@NonNull Throwable e) { 

         if (e instanceof HttpException) 
          Timber.d("Network Error"); 
        } 

        @Override 
        public void onComplete() { 

        } 
       }); 

を使用しています。しかし、問題は、実行されます決してTimber.d("Network Error");ではありません。私はさまざまなウェブサイトを見ても問題を解決できませんでした。私はRetrofit2に使用していますが、RxJava2に慣れていません。だから助けてください。さらに詳しい情報が必要な場合は、私はそれを投稿します。

+0

どのようなエラーがありますか? onErrorにもう少しログを記録して、別のタイプのエラーがないかどうかを確認してください。 – alex

+1

HttpExceptionはネットワーク障害に関連していません。 IOExceptionはあなたが探しているものです。 –

+0

@AndrejJurkinおかげで兄弟。出来た。私はそれを受け入れupvoteことができるように答えとしてそれを書いてください。 – Vicky

答えて

2

HttpExceptionはネットワーク障害とは関係ありません。 IOExceptionはあなたが探しているものです。

関連する問題