Exceptions¶
Application exception classes and error handling.
Module Contents¶
Site-wide exception handlers with HTMX-aware flash message support.
- not_found_exception_handler(request, exc)[source]¶
Handle 404 Not Found exceptions site-wide.
For API requests: Returns JSON error response. For HTMX requests: Returns empty response with HX-Trigger for toast notification. For regular requests: Renders the 404 error template with 5-minute cache.
- Parameters:
request (
Request) – The incoming requestexc (
NotFoundException) – The NotFoundException that was raised
- Return type:
- Returns:
JSON response, HTMX toast response, or rendered error template
- http_exception_handler(request, exc)[source]¶
Handle generic HTTP exceptions site-wide.
For API requests: Returns JSON error response. For HTMX requests: Returns toast notification. For browser requests: Returns HTML template or redirect.
- Parameters:
request (
Request) – The incoming requestexc (
HTTPException) – The HTTPException that was raised
- Return type:
- Returns:
Appropriate response based on request type and exception
- permission_denied_handler(request, exc)[source]¶
Handle permission denied exceptions.
For API requests: Returns JSON error response. For HTMX requests: Returns toast notification. For browser requests: Returns 403 template.
- Parameters:
request (
Request) – The incoming requestexc (
PermissionDeniedException) – The PermissionDeniedException that was raised
- Return type:
- Returns:
JSON response, HTMX toast response, or rendered 403 template
- internal_server_error_handler(request, exc)[source]¶
Handle internal server errors.
For API requests: Returns JSON error response. For HTMX requests: Returns toast notification. For browser requests: Returns 500 template.
- Parameters:
request (
Request) – The incoming requestexc (
InternalServerException) – The InternalServerException that was raised
- Return type:
- Returns:
JSON response, HTMX toast response, or rendered 500 template
Exception Hierarchy¶
The exception hierarchy provides structured error handling:
ApplicationError- Base exception for all application errorsAuthenticationError- Authentication failuresAuthorizationError- Authorization/permission failuresNotFoundError- Resource not found errorsValidationError- Input validation errorsConflictError- Resource conflict errors