# test-06: API 連携とエラーハンドリング

## 目的
外部 API を叩くコードにおいて、成功時だけでなく、タイムアウトや 404, 500 エラーなどの例外処理を適切に実装させる。

## 初期状態
- `README.md`
- `api_client.js` (成功時しか考慮していない未完成なコード)
- `api-spec.md`

## 依頼内容
「この API クライアントにエラーハンドリングを追加して。リトライ処理も入れて」と依頼する。

## 想定される依頼文
> `api_client.js` と `api-spec.md` を読み、正常系しかない API クライアントを実務向けに改善してください。
> 1. Fetch 失敗時のエラーハンドリングを追加。
> 2. ステータスコードが 5xx の場合に最大 3 回リトライするロジックを追加。
> 3. 最終的に失敗した場合は独自の `ApiError` をスローするようにしてください。

## 成功条件
1. try-catch 構文が適切に使われている。
2. 指示通りリトライループが実装されている。
3. カスタムエラークラスが定義されている。
