运行此代码 。由于断言错误,该测试将失败:
org.opentest4j.AssertionFailedError: Expected :whiteActual :yellow这意味着因为我们在 find 方法中对失败进行了硬编码 ,所以我们收到了默认值 。除了返回默认值之外,我们还可以在发生错误的情况下执行其他操作并生成结果 。你可以使用链接函数 Option 来使您的代码更具功能性:
repository.insert(bmw).andThen(car -> { System.out.println("Car is found "+car.getId());}).andFinally(()->{ System.out.println("Finishing");});或者,你可以使用收到的异常执行代码,如下所示:
repository.find("1A9 4312").orElseRun(error->{ //...});一般来说,Vavr Try 是一个功能丰富的解决方案,可用于以更实用的方式转换代码库 。毫无疑问,它与其他 Vavr 类(如 Option 或 Collections)结合后,才可以释放出真正的力量 。但是,如果您想编写更多的功能样式的代码,即使没有它们,Vavr Try 对于 Java 的 try-catch 块来说也是一个的正确的替代选择 。
总结Java 中的异常处理机制通常与 try-catch 块关联,以便捕获异常并提供发生异常时将要执行的逻辑 。同样,我们确实不需要将所有异常都放入这些块中 。在本文中,我们探讨了如何使用 Vavr 库执行此操作 。
【Java异常处理只有Try-Catch吗?】
推荐阅读
- JavaScript原型详解
- 使用一行Python代码从图像读取文本
- 厕所地面太高地漏下不去水怎么办,厕所地面太高如何处理
- 教你怎么从Java8升级到Java11
- 解除劳动合同一次性经济补偿金的税会处理
- 卫生间有红色的细长虫子是什么虫,卫生间有红线虫怎么处理
- 消毒柜维修处理办法
- 10个最受欢迎的 JavaScript 框架,以及它们的主要特征和功能
- 门框开裂跟墙体分离怎么处理,门框和墙体之间间隙多大算合理
- 新瓷砖上的蜡什么时候处理,瓷砖怎样除蜡
