首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quarkus Mutiny多过滤器异常处理

Quarkus Mutiny多过滤器异常处理
EN

Stack Overflow用户
提问于 2021-10-28 19:42:23
回答 1查看 974关注 0票数 1

在多个过滤器方法中处理异常的正确方法是什么,因为我们只能返回一个布尔值,不能传播失败?这就是我的代码现在的样子,我应该如何正确地处理过滤器中的异常?

代码语言:javascript
复制
Multi multi = ...;//
multi.filter(data -> {
        try{
            return applyFilter(data);
        } catch(Exception e){
            logger.error("exception occurred while checking filter", e);
            //instead of returning false, how should I propagate the exception?
            return false;
        }
    }
).onItem().transform(data -> {
       return transformData(data);  
   }       
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-03 06:44:37

如果filter谓词抛出异常,则该异常将作为失败传播到下游。如果在这种情况下,您想返回false,那么您需要像以前那样做(try/catch和返回false)。

在异常情况下,谓词只能引发运行时异常。如果要抛出选中的异常,可以使用未检查的实用程序方法(https://smallrye.io/smallrye-mutiny/guides/unchecked)。它为您将异常包装在运行时异常中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69760006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档