Identify and apply functional exception handling best practices in Java to improve error clarity, maintainability, and performance by eliminating exception overuse in favour of monadic error types.
Prerequisites: Run ./mvnw validate or mvn validate before applying any changes. If validation fails, stop immediately — do not proceed until the project is in a valid state. Also confirm the VAVR dependency (io.vavr:vavr) and SLF4J are present when introducing Either types.
Core areas: Optional for nullable values over throwing NullPointerException or NotFoundException, VAVR Either for predictable business-logic failures, CompletableFuture for async error handling, sealed classes and records for rich error type hierarchies with exhaustive pattern matching, enum-based error types for simple failure cases, functional composition with flatMap/map/peek/peekLeft for chaining operations th...
Úselo cuando necesite aplicar las mejores prácticas de manejo de excepciones funcionales en Java, incluido el reemplazo del uso excesivo de excepciones con tipos opcionales y VAVR cualquiera, el diseño de jerarquías de tipos de error utilizando clases y enumeraciones selladas, la implementación de canalizaciones de composición de errores monádicos, el establecimiento de patrones de flujo de control funcional y la reserva de excepciones solo para fallas verdaderamente excepcionales a nivel del sistema. Parte del proyecto skills-for-java Fuente: jabrena/cursor-rules-java.