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(