// Gemini API 専用例外クラス // 文字列マッチングではなく型で分岐できるようにする /// API サーバーの混雑(503 UNAVAILABLE)でリトライを使い切った class GeminiCongestionException implements Exception { const GeminiCongestionException(); @override String toString() => 'GeminiCongestionException: AIサーバーが混雑しています。しばらく待ってから再試行してください。'; } /// API キーが空または無効 class GeminiApiKeyException implements Exception { const GeminiApiKeyException(this.message); final String message; @override String toString() => 'GeminiApiKeyException: $message'; }