# 异常

> Understand the different exceptions the Economy SDK throws when errors occur.

## Economy 异常##economyexception

当 SDK 中的某一操作出现问题时，会抛出 `EconomyException`。这些异常应该通过调用代码来处理。可以抛出这些异常的方法已在方法文档中清楚标明。

除了 C# `Exception` 通常提供的字段之外，`EconomyException` 还具有以下字段：

* `Reason`：`EconomyExceptionReason` 是一个枚举值，描述发生的问题类别。提供此信息是为了以代码友好的方式检测和处理可能抛出的不同类型的错误。

检查 `EconomyException` 中的 `Message` 字段，可获取关于所抛出错误的人类可读描述。

Economy SDK 也可能抛出与特定方法有关的异常。方法文档中指明了这类异常。

## Economy 验证异常##economy-validation-exception

`EconomyValidationException` 继承自 `EconomyException`，当 SDK 中存在验证错误时（例如，如果您尝试设置包含无效字符的 ID），就会抛出该错误。通过 `EconomyValidationException`，可以更深入地了解采用服务后出现的验证问题。

它包含一个额外字段：

* `Details`：这是从 API 的验证错误响应返回的错误列表。它是[ Economy 验证错误细节](#economy-validation-error-detail)列表。

### Economy 验证错误细节##economy-validation-error-detail

`EconomyValidationErrorDetail` 表示从 API 的验证错误响应返回的一项错误。

它包含两个字段：

* `Field`：数据中导致错误的字段。这是一个字符串。
* `Messages`：描述错误的消息。这是一个字符串列表。

## Economy 速率限制异常##economy-rate-limited-exception

`EconomyRateLimitedException` 继承自 `EconomyException`，当请求数超过速率限制时抛出。

它包含一个额外字段：

* `RetryAfter`：等待该秒数后客户端将不再受到速率限制。这是一个整数。
