Remove dead throws declarations for unchecked Jackson exceptions
org.openrewrite.java.jackson.RemoveDeadJacksonThrowsArtifactorg.openrewrite.recipe:rewrite-jacksonIn Jackson 3 the exception hierarchy is rerooted under JacksonException, which extends RuntimeException. Any surviving throws for a Jackson exception type is dead: callers are not required to handle it, and the declaration misleads readers into thinking checked-exception handling is needed. Removes throws for JacksonException and its subtypes (e.g. DatabindException) from both methods and constructors. Assumes the Jackson 2 to 3 package changes have already run, so all Jackson exception types live under tools.jackson. Does not touch throws IOException (still a checked exception) or non-Jackson exception types.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.jackson.RemoveDeadJacksonThrowsIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-jackson:RELEASEDefinition
This recipe runs the following recipes in order.
- Remove elements from a method declaration
throwsclauseorg.openrewrite.java.RemoveMethodThrows - Remove elements from a method declaration
throwsclauseorg.openrewrite.java.RemoveMethodThrows
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats