Я пытаюсь привыкнуть к rxjava
, и я пытаюсь позвонить ниже QuoteReader
в Наблюдаемый. Я не уверен, как обрабатывать исключение брошено,Обработка исключений в rxjava
public class QuoteReader {
public Map<String, Object> getQuote() throws IOException{
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder().url("http://quotes.rest/qod.json").build();
Gson gson = new Gson();
Map<String, Object> responseMap = null;
try(Response response = okHttpClient.newCall(request).execute()) {
responseMap = gson.fromJson(response.body().string(), Map.class);
System.out.println("response map : "+responseMap);
} catch(IOException ioe) {
ioe.printStackTrace();
throw ioe;
} finally {
okHttpClient = null;
request = null;
}
return responseMap;
}
}
Ниже приведен ге коды, который я пытаюсь написать,
rx.Observable.just(new QuoteReader().getQuote()) //compile time error saying unhandled exception
.subscribe(System.out::println);
Как я должен обновить код для обработки исключений. Благодаря!
Вы должны либо обернуть код в блок try/catch, либо объявить, что ваш метод выдает исключение. –