我偶然发现了这个问题。可以说我有一个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/

10-10 23:36