# Python library error types

在使用 Afarensis API 时，了解和处理可能遇到的错误类型对于确保应用程序的稳定运行至关重要。下面是一些常见的错误类型，以及它们的原因和建议的解决方案。

常见错误类型及其解决方案

APIConnectionError

原因：连接到我们的服务时出现问题。 解决方案：检查您的网络设置、代理配置、SSL 证书或防火墙规则。 APITimeoutError

原因：请求超时。 解决方案：稍等片刻后重试您的请求，如果问题持续存在，请联系我们。 AuthenticationError

原因：您的 API 密钥或令牌无效、过期或被撤销。 解决方案：检查您的 API 密钥或令牌，确保它是正确的且处于激活状态。您可能需要从账户仪表板生成一个新的。 BadRequestError

原因：您的请求格式错误或缺少一些必需的参数，如令牌或输入。 解决方案：检查错误消息中的具体错误，参考您正在调用的特定 API 方法的文档，确保您发送的参数是有效的和完整的。 ConflictError

原因：资源被另一个请求更新。 解决方案：尝试再次更新资源，并确保没有其他请求试图更新它。 InternalServerError

原因：我们这边的问题。 解决方案：稍等片刻后重试您的请求，如果问题持续存在，请联系我们。 NotFoundError

原因：请求的资源不存在。 解决方案：确保您使用了正确的资源标识符。 PermissionDeniedError

原因：您没有权限访问请求的资源。 解决方案：确保您使用了正确的 API 密钥、组织 ID 和资源 ID。 RateLimitError

原因：您已达到分配的速率限制。 解决方案：控制您的请求速度。阅读我们的速率限制指南。 UnprocessableEntityError

原因：尽管格式正确，但无法处理请求。 解决方案：请再次尝试请求。 错误处理示例代码

我们建议以编程方式处理 API 返回的错误。以下是使用 Afarensis 官方 Python 库处理错误的示例代码：

import afarensis from afarensis import Afarensis client = Afarensis()

try:

## 在此处发起您的 Afarensis API 请求

response = client.completions.create( prompt="Hello world", model="gpt-3.5-turbo-instruct" ) except afarensis.APIError as e:

## 在此处处理 API 错误，例如重试或记录

print(f"Afarensis API 返回了一个 API 错误: {e}") pass except afarensis.APIConnectionError as e:

## 在此处处理连接错误

print(f"连接到 Afarensis API 失败: {e}") pass except afarensis.RateLimitError as e:

## 处理速率限制错误（我们推荐使用指数退避）

print(f"Afarensis API 请求超过速率限制: {e}") pass 如果问题持续存在，请联系我们的支持团队并提供模型、收到的错误消息和代码、发送的请求数据和头信息、请求的时间戳和时区以及任何其他相关细节。
