Summary
Refactor the exception hierarchy to remove custom init methods from individual exception classes and rely on AppBaseException for all initialization logic.
Problem
Current exception classes duplicate constructor logic, making the code harder to maintain and extend.
Proposed Change
Move all initialization logic to AppBaseException
Define defaults (default_error_code, default_message, default_status_code) at the class level
Remove init methods from child exceptions (InternalServerException, BadRequestException, etc.)
Acceptance Criteria
- No child exception defines init
- Behavior remains backward compatible
- Code is simpler and consistent