File size: 744 Bytes
1ec5369
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from __future__ import annotations

from typing import Any


class OCRServiceError(Exception):
    """可预期、可返回给调用方的服务错误。"""

    def __init__(

        self,

        code: str,

        message: str,

        *,

        status_code: int = 400,

        details: dict[str, Any] | None = None,

    ) -> None:
        super().__init__(message)
        self.code = code
        self.message = message
        self.status_code = status_code
        self.details = details

    def as_dict(self) -> dict[str, Any]:
        error: dict[str, Any] = {"code": self.code, "message": self.message}
        if self.details is not None:
            error["details"] = self.details
        return error