From e35fb37fb2d3862f4b2480a6d3075c7ca31aaa42 Mon Sep 17 00:00:00 2001 From: cobo <39579511+nzmgfdprs@users.noreply.github.com> Date: Sun, 26 Jan 2025 13:25:56 +0900 Subject: [PATCH] chore: error handling --- lib/data/app_exception.dart | 9 +++++++++ lib/data/genkit_client.dart | 10 +++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 lib/data/app_exception.dart diff --git a/lib/data/app_exception.dart b/lib/data/app_exception.dart new file mode 100644 index 0000000..ac1fe0f --- /dev/null +++ b/lib/data/app_exception.dart @@ -0,0 +1,9 @@ +class AppException implements Exception { + final String message; + const AppException([this.message = 'エラーが発生しました']); + + @override + String toString() { + return message; + } +} diff --git a/lib/data/genkit_client.dart b/lib/data/genkit_client.dart index eaacecf..b171163 100644 --- a/lib/data/genkit_client.dart +++ b/lib/data/genkit_client.dart @@ -1,4 +1,5 @@ import 'package:dio/dio.dart'; +import 'package:flutter_gakkai_07/data/app_exception.dart'; import 'package:flutter_gakkai_07/data/genkit_response.dart'; class GenkitClient { @@ -38,12 +39,15 @@ class GenkitClient { ); if (response.statusCode != 200) { - throw Exception('Failed to generate image: ${response.statusCode}'); + throw AppException(errorMessage); } return GenkitResponse.fromJson(response.data); - } on DioException catch (e) { - throw Exception('Failed to generate image: ${e.message}'); + } catch (e) { + throw AppException(errorMessage); } } + + final errorMessage = '''Imagen3 による画像生成に失敗しました。 +再度、キャラクター生成をお試しください。'''; }