Skip to content

honeyhive.utils.error_handler

Error types raised by HoneyHive SDK utilities.

ErrorResponse dataclass

Standardized error response.

Source code in src/honeyhive/utils/error_handler.py
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
@dataclass
class ErrorResponse:
    """Standardized error response."""

    success: bool = False
    error_type: str = "UnknownError"
    error_message: str = "An unknown error occurred"
    error_code: Optional[str] = None
    status_code: Optional[int] = None
    details: Optional[Dict[str, Any]] = None
    context: Optional["ErrorContext"] = None
    retry_after: Optional[float] = None

    def to_dict(self) -> Dict[str, Any]:
        """Convert error response to dictionary."""
        result = {
            "success": self.success,
            "error_type": self.error_type,
            "error_message": self.error_message,
        }

        if self.error_code:
            result["error_code"] = self.error_code
        if self.status_code:
            result["status_code"] = self.status_code
        if self.details:
            result["details"] = self.details
        if self.retry_after:
            result["retry_after"] = self.retry_after

        return result

success class-attribute instance-attribute

success: bool = False

error_type class-attribute instance-attribute

error_type: str = 'UnknownError'

error_message class-attribute instance-attribute

error_message: str = 'An unknown error occurred'

error_code class-attribute instance-attribute

error_code: Optional[str] = None

status_code class-attribute instance-attribute

status_code: Optional[int] = None

details class-attribute instance-attribute

details: Optional[Dict[str, Any]] = None

context class-attribute instance-attribute

context: Optional[ErrorContext] = None

retry_after class-attribute instance-attribute

retry_after: Optional[float] = None

to_dict

to_dict() -> Dict[str, Any]

Convert error response to dictionary.

Source code in src/honeyhive/utils/error_handler.py
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
def to_dict(self) -> Dict[str, Any]:
    """Convert error response to dictionary."""
    result = {
        "success": self.success,
        "error_type": self.error_type,
        "error_message": self.error_message,
    }

    if self.error_code:
        result["error_code"] = self.error_code
    if self.status_code:
        result["status_code"] = self.status_code
    if self.details:
        result["details"] = self.details
    if self.retry_after:
        result["retry_after"] = self.retry_after

    return result

HoneyHiveError

Bases: Exception

Base exception for HoneyHive errors.

Source code in src/honeyhive/utils/error_handler.py
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
class HoneyHiveError(Exception):
    """Base exception for HoneyHive errors."""

    def __init__(
        self,
        message: str,
        error_response: Optional[ErrorResponse] = None,
        original_exception: Optional[Exception] = None,
    ):
        """Initialize HoneyHive error.

        Args:
            message: Error message
            error_response: Structured error response
            original_exception: Original exception that caused this error
        """
        super().__init__(message)
        self.error_response = error_response
        self.original_exception = original_exception

error_response instance-attribute

error_response = error_response

original_exception instance-attribute

original_exception = original_exception

APIError

Bases: HoneyHiveError

API-related errors.

Source code in src/honeyhive/utils/error_handler.py
108
109
class APIError(HoneyHiveError):
    """API-related errors."""