Error Handling Reference

Complete reference for error classes and error handling utilities.

Error Classes

APIError

Base error class for all API errors.

class honeyhive.utils.error_handler.APIError(message, error_response=None, original_exception=None)[source]

Bases: HoneyHiveError

API-related errors.

Parameters:

AuthenticationError

class honeyhive.utils.error_handler.AuthenticationError(message, error_response=None, original_exception=None)[source]

Bases: HoneyHiveError

Authentication and authorization errors.

Parameters:

ValidationError

class honeyhive.utils.error_handler.ValidationError(message, error_response=None, original_exception=None)[source]

Bases: HoneyHiveError

Data validation errors.

Parameters:

RateLimitError

class honeyhive.utils.error_handler.RateLimitError(message, error_response=None, original_exception=None)[source]

Bases: HoneyHiveError

Rate limiting errors.

Parameters:

Error Handler

ErrorHandler

class honeyhive.utils.error_handler.ErrorHandler(logger_name='honeyhive.error_handler')[source]

Bases: object

Standardized error handling middleware.

This class provides a single public method for error handling, which is appropriate for its focused responsibility.

Parameters:

logger_name (str)

handle_operation(context, raise_on_error=True, return_error_response=False)[source]

Context manager for handling operations with standardized error handling.

Parameters:
  • context (ErrorContext) – Error context information

  • raise_on_error (bool) – Whether to raise exceptions or return error responses

  • return_error_response (bool) – Whether to return ErrorResponse objects instead of raising

Yields:

None

Raises:

HoneyHiveError – If raise_on_error is True and an error occurs

Return type:

Generator[None, None, None]

ErrorContext

class honeyhive.utils.error_handler.ErrorContext(operation, method=None, url=None, params=None, json_data=None, client_name=None, additional_context=<factory>)[source]

Bases: object

Context information for error handling.

Parameters:
operation: str
method: str | None = None
url: str | None = None
params: Dict[str, Any] | None = None
json_data: Dict[str, Any] | None = None
client_name: str | None = None
additional_context: Dict[str, Any]

ErrorResponse

class honeyhive.utils.error_handler.ErrorResponse(success=False, error_type='UnknownError', error_message='An unknown error occurred', error_code=None, status_code=None, details=None, context=None, retry_after=None)[source]

Bases: object

Standardized error response.

Parameters:
success: bool = False
error_type: str = 'UnknownError'
error_message: str = 'An unknown error occurred'
error_code: str | None = None
status_code: int | None = None
details: Dict[str, Any] | None = None
context: ErrorContext | None = None
retry_after: float | None = None
to_dict()[source]

Convert error response to dictionary.

Return type:

Dict[str, Any]

Tracer Integration Errors

InitializationError

class honeyhive.tracer.integration.error_handling.InitializationError(message, cause=None)[source]

Bases: IntegrationError

Error during tracer initialization.

Parameters:

ExportError

class honeyhive.tracer.integration.error_handling.ExportError(export_type, cause=None)[source]

Bases: IntegrationError

Error during span export.

Parameters:

ErrorSeverity

class honeyhive.tracer.integration.error_handling.ErrorSeverity(value)[source]

Bases: Enum

Error severity levels for dynamic handling.

LOW = 'low'
MEDIUM = 'medium'
HIGH = 'high'
CRITICAL = 'critical'

ResilienceLevel

class honeyhive.tracer.integration.error_handling.ResilienceLevel(value)[source]

Bases: Enum

Resilience levels for dynamic error handling strategies.

STRICT = 'strict'
BALANCED = 'balanced'
RESILIENT = 'resilient'

See Also