Tencent Cloud SDK
Tencent CloudGitHub
简体中文
简体中文
  • 欢迎
  • 常见问题
  • Python
  • 概述
  • 安装
  • 入门
  • 最佳实践
    • 无服务器云函数
      • 无服务器云函数间调用
      • 定时调用无服务器云函数
      • 原生调用无服务器云函数
        • 绑定到无服务器云函数
        • 使用例程组织无服务器云函数
    • 无服务器数据库
      • 创建和管理无服务器数据库
    • 其他 Tencent Cloud 产品
      • 选择最佳的访问凭据类型
  • API 文档
    • 无服务器云函数
      • 类和方法
        • Client 类
          • easy_invoke 方法
          • routine_invoke 方法
          • select_function 方法
          • select_routine 方法
          • bind_function 方法
          • bind_routine 方法
          • schedule_invoke 方法
          • run_schedule 方法
          • invoke 方法
          • create_function 方法
          • delete_function 方法
          • publish_function_version 方法
          • copy_function 方法
          • update_function_code 方法
          • update_function_configure 方法
          • get_function_result_by_request_id 方法
          • get_function_results 方法
          • list_functions 方法
          • list_function_versions 方法
          • get_function_info 方法
          • create_trigger 方法
          • delete_trigger 方法
          • create_namespace 方法
          • delete_namespace 方法
          • list_namespaces 方法
          • update_namespace 方法
          • get_function_code_download_url 方法
          • download_function_code 方法
          • create_layer 方法
          • delete_layer 方法
          • get_layer_info 方法
          • list_layers 方法
          • list_layer_versions 方法
          • submit_monitor_indicator 方法
        • FunctionSchedule 类
          • cancel 方法
        • FunctionResultFuture 类
          • get_request_id 方法
        • FunctionTrigger 类
          • get_trigger_kind 方法
          • get_trigger_context 方法
          • use_timer 方法
          • use_object_storage_bucket 方法
          • use_message_queue_topic 方法
        • FunctionCode 类
          • get_code_source 方法
          • get_code_context 方法
          • use_object_storage_bucket 方法
          • use_local_zip_archive 方法
          • use_git_repository 方法
        • LayerContent 类
        • fetch_client 函数
        • use_routine_dispatcher 函数
      • 数据类型
        • FunctionResult 类型
        • FunctionInfo 类型
        • FunctionInfoEx 类型
        • FunctionVersionInfo 类型
        • NamespaceInfo 类型
        • LayerInfo 类型
        • FunctionConfigure 类型
        • FunctionResultFilter 类型
        • FunctionFilter 类型
        • ObjectStorageBucketTriggerFilter 类型
        • MessageQueueTopicTriggerFilter 类型
        • LayerFilter 类型
        • FunctionRuntime 枚举器
        • FunctionType 枚举器
        • FunctionResultType 枚举器
        • FunctionTriggerKind 枚举器
        • FunctionCodeSource 枚举器
        • LayerContentSource 枚举器
        • LayerStatus 枚举器
      • 异常
        • InvokeError 异常
        • StatusError 异常
    • 无服务器数据库
      • 类和方法
        • Client 类
          • create_instance 方法
          • delete_instance 方法
          • list_instances 方法
          • set_instance_extranet 方法
        • fetch_client 函数
      • 数据类型
        • InstanceInfo 类型
        • InstanceConfigure 类型
        • DatabaseCharset 枚举器
    • 其他 Tencent Cloud 产品
      • 类和方法
        • Waitable 类
          • wait_for_done 方法
          • has_done 方法
          • set_result 方法
        • ErrorManager 类
          • add_handler 方法
          • remove_handler 方法
          • has_handler 方法
          • clear_all_handler 方法
        • UniversalClient 类
          • action 方法
          • action_for_product 方法
          • select_action 方法
          • get_product_id 方法
          • set_product_id 方法
          • set_access_endpoint 方法
          • set_access_proxies 方法
          • get_last_response_metadata 方法
        • Proxies 类
          • use_proxy_server 方法
          • add_proxy_server 方法
          • remove_proxy_server 方法
      • 数据类型
        • ResponseMetadata 类型
        • ProxyAuth 类型
        • ProxyType 枚举器
        • ErrorHandlerResult 枚举器
        • WaitableStatus 枚举器
      • 异常
        • Error 异常
        • NotFoundError 异常
        • ExistedError 异常
        • OccupiedError 异常
        • ClientError 异常
        • RequestError 异常
        • ResponseError 异常
        • ActionError 异常
        • ActionResultError 异常
  • GitHub 存储库
  • Issues 跟踪器
  • PyPI 项目主页
由 GitBook 提供支持
在本页
  • 简要
  • 属性
  • 示例
  • 适用于

这有帮助吗?

导出为 PDF
  1. API 文档
  2. 其他 Tencent Cloud 产品
  3. 类和方法

ErrorManager 类

命名空间和模块:tencent.cloud.core.errors

简要

代表通用客户端、产品客户端的错误管理器的类型。借助错误管理器功能,您可以快速实现对感兴趣的客户端错误处理流程和方式的控制。利用错误管理器所提供的错误处理程序链,您可以编写一个或多个错误处理器函数并对符合特定条件的错误进行处理流程和方式控制,这将进一步增强应用程序可靠性。

class ErrorManager

请注意,错误管理器类型的实例化是隐式的且默认集成在所有客户端,您可以通过客户端实例的 error_manager 属性访问与之关联的错误管理器实例。

属性

错误管理器类型的实例包含可公开访问的属性如下:

属性

类型

只读

描述

enabled

bool

否

指示是否已启用错误管理器。 将该属性的值设置为 False,将立即禁用错误管理器。

max_backoff_interval

int

否

指示错误管理器指数退避重试处理方式每次重试的最大间隔秒数。该属性的值默认为 64 秒。

max_number_of_retries

int

否

指示错误管理器重试引发错误的操作时最大可重试的次数。

该属性的值默认为 10 次。

示例

在下文中我们将通过一段 Python 代码片段向您演示如何向错误管理器添加一个错误处理器:

from tencent.cloud.core import errors
from tencent.cloud.core import client

function_client: functions.Client = functions.Client()

def error_handler_callback(
    error_manager: errors.ErrorManager,
    error_source: client.BaseClient,
    error_instance: errors.ActionError,
    error_retry_count: int
) -> int:
    if not isinstance(error_instance, errors.ActionError):
        return errors.ErrorHandlerResult.Ignore
    
    if error_instance.action_id == 'FailedOperation':
        return errors.ErrorHandlerResult.Backoff
    else:
        return errors.ErrorHandlerResult.Throw

function_client.error_manager.add_handler(error_handler_callback)

在上文示例代码中我们定义了一个错误处理器函数 error_handler_callback,其参数为:

参数

类型

必选

描述

error_manager

是

调用错误处理器函数的错误管理器实例。

error_source

是

引发该错误的客户端实例。

error_instance

是

引发的错误对应的异常类型实例。

error_retry_count

int

是

该错误已重试次数。

在上文示例代码中,我们定义并添加的错误处理器代码运行逻辑如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-core >= 0.1.2

上一页set_result 方法下一页add_handler 方法

最后更新于5年前

这有帮助吗?

当与之关联的客户端实例引发 异常时,其错误管理器已添加的错误处理器回调函数将根据添加顺序逐个调用。

被回调的错误处理器函数需要返回枚举器 的成员值以指示针对该错误的处理方式,错误管理器将根据返回的处理方式对该错误进行处理。

ClientError
ErrorHandlerResult
ErrorManager
BaseClient
ClientError
错误处理器运行逻辑示意图