From 7df2ea1b7a43a5902ffdf4a2f3cdb6cc663bd658 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 29 Mar 2026 13:41:40 -0300 Subject: [PATCH] refactor: enhance error handling in fetchExternalMangaData method --- .../catalog/service/MangaUpdateService.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/magamochi/catalog/service/MangaUpdateService.java b/src/main/java/com/magamochi/catalog/service/MangaUpdateService.java index cc26912..263bfd5 100644 --- a/src/main/java/com/magamochi/catalog/service/MangaUpdateService.java +++ b/src/main/java/com/magamochi/catalog/service/MangaUpdateService.java @@ -71,12 +71,28 @@ public class MangaUpdateService { } private MangaDataDTO fetchExternalMangaData(Manga manga) { + Exception fetchException = null; + if (nonNull(manga.getAniListId())) { - return aniListService.getMangaDataById(manga.getAniListId()); + try { + return aniListService.getMangaDataById(manga.getAniListId()); + } catch (Exception e) { + log.warn("Failed to fetch manga data from AniList for Manga ID {}", manga.getId(), e); + fetchException = e; + } } if (nonNull(manga.getMalId())) { - return myAnimeListService.getMangaDataById(manga.getMalId()); + try { + return myAnimeListService.getMangaDataById(manga.getMalId()); + } catch (Exception e) { + log.warn("Failed to fetch manga data from MyAnimeList for Manga ID {}", manga.getId(), e); + fetchException = e; + } + } + + if (nonNull(fetchException)) { + throw (RuntimeException) fetchException; } throw new IllegalStateException(