Summary
Define a structured exception hierarchy to distinguish between different failure modes.
Requirements
- Base
MontonioException extending RuntimeException
MontonioApiException — API returned an error response (include HTTP status, error body)
MontonioNetworkException — connection failures, timeouts
MontonioAuthenticationException — invalid credentials, token issues
MontonioValidationException — invalid input before sending request
- Each exception should carry enough context for the consumer to act on it
Refs
initial-docs/project1.md — typed error handling: API errors, network errors, validation failures
initial-docs/project3.md — meaningful exceptions on API errors, network failures, auth issues
Testing
Unit tests for each exception type: construction, message formatting, cause chaining, context accessors. Target near-perfect coverage.
Summary
Define a structured exception hierarchy to distinguish between different failure modes.
Requirements
MontonioExceptionextendingRuntimeExceptionMontonioApiException— API returned an error response (include HTTP status, error body)MontonioNetworkException— connection failures, timeoutsMontonioAuthenticationException— invalid credentials, token issuesMontonioValidationException— invalid input before sending requestRefs
initial-docs/project1.md— typed error handling: API errors, network errors, validation failuresinitial-docs/project3.md— meaningful exceptions on API errors, network failures, auth issuesTesting
Unit tests for each exception type: construction, message formatting, cause chaining, context accessors. Target near-perfect coverage.