def handle_tea_exception()

in src/mcp_server_aliyun_observability/utils.py [0:0]


def handle_tea_exception(func: Callable[..., T]) -> Callable[..., T]:
    """
    装饰器:处理阿里云 SDK 的 TeaException 异常

    Args:
        func: 被装饰的函数

    Returns:
        装饰后的函数,会自动处理 TeaException 异常
    """

    @wraps(func)
    def wrapper(*args, **kwargs) -> T:
        try:
            return func(*args, **kwargs)
        except TeaException as e:
            for error in TEQ_EXCEPTION_ERROR:
                if e.code == error["errorCode"]:
                    return cast(
                        T,
                        {
                            "solution": error["solution"],
                            "message": error["errorMessage"],
                        },
                    )
            message=e.message
            if "Max retries exceeded with url" in message:
                return cast(
                    T,
                    {
                        "solution": """