126-java-exception-handling
Use when you need to apply Java exception handling best practices — including using specific exception types, managing resources with try-with-resources, securing exception messages, preserving error context via exception chaining, validating inputs early with fail-fast principles, handling thread interruption correctly, documenting exceptions with @throws, enforcing logging policy, translating exceptions at API boundaries, managing retries and idempotency, enforcing timeouts, attaching suppressed exceptions, and propagating failures in async/reactive code. This should trigger for requests such as 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. Part of Plinth Toolkit
How do I install this agent skill?
npx skills add https://github.com/jabrena/plinth --skill 126-java-exception-handlingIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides guidelines and a workflow for improving Java exception handling in a project. It includes instructions for the agent to compile and verify the project using standard Maven commands. No malicious patterns, obfuscation, or unauthorized data exfiltration behaviors were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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 InterruptedExceptionhandling with interrupted-status restoration@throwsJavaDoc 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#addSuppressedfor secondary cleanup failures- Never catching
Throwable/Error - Observability via error metrics
- Failure propagation in async
CompletionStagecode
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 compileormvn compilebefore applying any changes - SAFETY: If compilation fails, stop immediately — do not proceed until the project is in a valid state
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter 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
- Compile project before exception-handling changes
Run ./mvnw compile or mvn compile and stop immediately if compilation fails.
- Read exception-handling reference
Read references/126-java-exception-handling.md and identify applicable failure-handling and observability improvements.
- Apply exception-handling improvements
Refactor to specific exceptions, safe resource handling, error translation, and consistent logging patterns.
- 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.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/jabrena/plinth/126-java-exception-handling">View 126-java-exception-handling on skillZs</a>