用途:在 Java 项目中识别并应用函数式异常处理最佳实践,减少异常滥用,改用单子式错误类型,提升错误表达的清晰度、可维护性与性能。
主要能力:用 Optional<T> 处理可空值,替代抛出 NullPointerException 或 NotFoundException;用 VAVR Either<L,R> 表达可预期的业务逻辑失败;用 CompletableFuture<T> 处理异步错误;用密封类与 record 构建丰富的错误类型层级并支持穷尽模式匹配;用枚举错误类型处理简单失败场景;通过 flatMap/map/peek/peekLeft 组合可能失败的操作;结构化日志中业务失败用 warn/info、系统失败用 error;区分受检与非受检异常;在异常不可避免时保留完整因果链。
使用方式:先运行 ./mvnw validate 或 mvn validate,验证失败须立即停止;引入 Either 前确认存在 VAVR(io.vavr:vavr)与 SLF4J 依赖;阅读 references/143-java-functional-exception-handling.md,定位可用单子错误类型替换异常控制流的位置;实施重构后运行 ./mvnw clean verify 或 mvn clean verify 验证。
适用场景:需要以 Result 或 Either 建模 Java 错误、重构异常密集流程、改进函数式异常处理的项目。
限制:参考文档按好/坏代码示例组织,需按适用示例应用建议;未提供具体版本、性能数据或收费信息。