# 例外

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

## Economy の例外##economyexception

SDK の操作のどれかに問題が発生すると、`EconomyException` がスローされます。これらの例外はコードを呼び出して処理する必要があります。これらの例外をスローする可能性があるメソッドについては、メソッドのドキュメントで明示されています。

`EconomyException` には、C# `Exception` で通常提供されるフィールドの他に以下のフィールドがあります。

* `Reason`: `EconomyExceptionReason` は、発生した問題のカテゴリを示す enum 値です。これは、スローされる可能性があるさまざまな種類のエラーを、コードを使用して検出および処理できるように提供されています。

スローされたエラーの人間が判読できる説明については、`EconomyException` の `Message` フィールドを調べます。

また、Economy SDK によってスローされる可能性があるメソッド固有の例外もあります。これらについてはメソッドのドキュメントで説明されています。

## Economy 検証の例外##economy-validation-exception

`EconomyValidationException` は `EconomyException` を継承し、SDK の検証エラーが発生したときにスローされます。例えば、ID に無効な文字を設定しようとした場合です。`EconomyValidationException` により、サービスにアクセスした後で発生する検証の問題に関して、さらに情報を得ることができます。

これには、もう 1 つのフィールドが含まれます。

* `Details`: これは API の検証エラーレスポンスから返されるエラーのリストです。これは [Economy 検証のエラー詳細](#economy-validation-error-detail) のリストです。

### Economy 検証のエラー詳細##economy-validation-error-detail

`EconomyValidationErrorDetail` は、API の検証エラーレスポンスから返される 1 つのエラーです。

これには 2 つのフィールドがあります。

* `Field`: エラーの原因になったデータのフィールド。これは文字列です。
* `Messages`: エラーについて説明するメッセージ。これは文字列のリストです。

## Economy レート制限の例外##economy-rate-limited-exception

`EconomyRateLimitedException` は `EconomyException` を継承し、リクエスト数がレート制限を超過したときにスローされます。

これには、もう 1 つのフィールドが含まれます。

* `RetryAfter`: クライアントがレート制限されなくなるまでの秒数。これは整数です。
