不确定如何在Java doc样式中记录throws声明。下面的例子:
/**
* 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
等处理的异常。
Docs不包含任何类似内容。
答案 0 :(得分:0)
您是对的,该方法不会引发任何错误,但是它可能会返回Observable
并发出错误。在我目前工作的公司中,我们高度使用反应式编程,在这些情况下,我们删除@throw
行并将此信息添加到@return
:
@return an {@link Observable} containing the retrieved {@link User}s; yields a {@link FacebookException} in case of empty data.