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...
Используйте, когда вам нужно применить лучшие практики функциональной обработки исключений в Java, включая замену чрезмерного использования исключений типами «Необязательный» и «VAVR Any», разработку иерархий типов ошибок с использованием запечатанных классов и перечислений, реализацию монадических конвейеров композиции ошибок, создание шаблонов потока функционального управления и резервирование исключений только для действительно исключительных сбоев на уровне системы. Часть проекта «Навыки для Java» Источник: jabrena/cursor-rules-java.