不知道如何以 Java 文档样式记录抛出声明。以下示例:
/**
* Get Facebook Friends
*
* @param facebookToken - Facebook Token
* @return list of {@link User}
* @throws SomeCheckedException <- this is normally the way, but not for Observable return type
*/
public Observable<List<User>> getFriends(String facebookToken) {
return get("/me/friends", facebookToken)
.flatMap(response -> {
FacebookResponse facebookResponse = response.readEntity(FacebookResponse.class);
if (null != facebookResponse.getError()) {
return Observable.error(parseException(facebookResponse.getError()));
} else if (null == facebookResponse.getData()) {
return Observable.error(new FacebookException("Empty data"));
}
return Observable.just(facebookResponse.getData());
});
}
该方法应该返回Observable.error()
,我想让将要调用此方法的开发人员知道可能在onErrorNextResume
中处理异常等。
文档不涵盖任何类似内容。
你是
对的,此方法不会引发任何错误,但它可能会在发出错误时返回Observable
。在我目前工作的公司中,我们高度使用响应式编程,对于这些情况,我们删除了@throw
行,并将此信息添加到@return
:
@return an {@link Observable} containing the retrieved {@link User}s; yields a {@link FacebookException} in case of empty data.