有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

针对特定异常的java反应流跳过筛选器

假设我有一个这样的反应流:

Flux<App> apps = this.getApps(arg)
     .filter( res -> firstFilter())
     .filter( res -> secondFilter())

并且说getApps()调用返回UnsupportedOperationException。当引发此异常而不解析整个链时,如何跳过firstFilter并返回secondFilter的默认vault

请注意UnsupportedOperationException应该是导致跳过firstFilter的唯一异常

例如,可以使用onErrorReturnonErrorResume作为回退,但它们将完成整个链,并且只有onErrorResume可以区分异常类型


共 (1) 个答案

  1. # 1 楼答案

    Stream<> stream = null; //your type here
    try{    
      stream = this.getApps(arg).filter( res -> firstFilter());
    }catch (UnsupportedOperationException ex) {
      stream = Stream.of("1","2","3"); // you default provided stream of strings for example
    }finally {
      stream.filter( res -> secondFilter())
    }