mcpField
1
126-java-exception-handling

126-java-exception-handling

github.com/jabrenaDevelopment456285 installsUpdated 1d ago
Repository

About 126-java-exception-handling

A skill for improving exception handling in Java code, aimed at developers reviewing or changing failure behavior. It covers safer resource handling, clearer error propagation, logging, and verification steps.

Key features

  1. 01Specific exception types and chaining
  2. 02try-with-resources cleanup
  3. 03Safe error messages and structured logging
  4. 04Timeouts and bounded retries
  5. 05Async failure propagation
  6. 06Compile and full-build checks

Use cases

  1. 01Review exception taxonomy and propagation
  2. 02Improve resource cleanup and error context
  3. 03Harden API error translation and logging
  4. 04Handle timeouts or async failures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/jabrena/plinth --skill 126-java-exception-handling

After installing, type/126-java-exception-handlingin Claude Code to confirm it loaded.

Bundled filesreferences/126-java-exception-handling.md

Details

From the project README

Java Exception Handling Guidelines

Identify and apply robust Java exception handling practices to improve error clarity, security, debuggability, and system reliability.

What is covered in this Skill?

  • Specific exception types instead of generic Exception/RuntimeException
  • try-with-resources for automatic resource cleanup
  • Secure exception messages that avoid information leakage
  • Exception chaining to preserve full error context
  • Early input validation with IllegalArgumentException/NullPointerException
  • InterruptedException handling with interrupted-status restoration
  • @throws JavaDoc documentation, fail-fast principle
  • Structured logging with correlation IDs, avoiding log-and-throw duplication
  • API boundary translation via centralized exception mappers
  • Bounded retry with backoff for idempotent operations only
  • Timeout enforcement with deadline propagation
  • Throwable#addSuppressed for secondary cleanup failures
  • Never catching Throwable/Error
  • Observability via error metrics
  • Failure propagation in async CompletionStage code

Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.

Constraints

Before applying any exception handling changes, ensure the project compiles. If compilation fails, stop immediately — do not proceed until resolved. After applying improvements, run full verification.

  • MANDATORY: Run ./mvnw compile or mvn compile before applying any changes
  • SAFETY: If compilation fails, stop immediately — do not proceed until the project is in a valid state
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed good/bad examples, constraints, and safeguards for each exception handling pattern

When to use this skill

  • Exception handling
  • Use try-with-resources in Java code
  • Create exception chaining in Java code
  • Apply fail-fast validation in Java code
  • Review Java exception taxonomy and propagation

Workflow

  1. Compile project before exception-handling changes

Run ./mvnw compile or mvn compile and stop immediately if compilation fails.

  1. Read exception-handling reference

Read references/126-java-exception-handling.md and identify applicable failure-handling and observability improvements.

  1. Apply exception-handling improvements

Refactor to specific exceptions, safe resource handling, error translation, and consistent logging patterns.

  1. Verify with full build

Run ./mvnw clean verify or mvn clean verify after applying improvements.

Reference

For detailed guidance, examples, and constraints, see references/126-java-exception-handling.md.

Comments

Markdown supported