我偶然发现了这个问题。可以说我有一个Func1,它解析一些json字符串并返回ServerState(枚举)。由于某种原因,客户端无法知道状态,或者由于某种原因,JSON不好。
如何从调用方法传播异常?
public static class ParseProgressFunction implements Func1<String, Observable<ServerState>> {
@Override
public Observable<ServerState> call(String progress) {
try {
final ServerState serverState = ServerParser.parseProgress(progress);
} catch (JSONException e) {
e.printStackTrace();
} catch (UnknownServerStateException e) {
e.printStackTrace();
}
}
}
这是我喜欢实现的想法:
@Override
public void onReceiveServerState(final Observable<String> state) {
state.flatMap(new ParseProgressFunction());
必须有一些最佳实践,对吗?
复活节快乐
最佳答案
当函数返回一个Observable时,您可以返回一个带有您的异常的新错误Observable。
return Observable.error(you exception);
关于json - 处理功能异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29459919/