1
0
mirror of https://github.com/Suiranoil/SkinRestorer.git synced 2026-01-16 04:42:12 +00:00

catch UncheckedExecutionException for better exception message

This commit is contained in:
2024-09-06 03:06:42 +03:00
parent 017478374d
commit e7d8dfa6b6
3 changed files with 9 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ package net.lionarius.skinrestorer.skin.provider;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.util.concurrent.UncheckedExecutionException;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import com.mojang.authlib.yggdrasil.response.MinecraftProfilePropertiesResponse;
@@ -71,6 +72,8 @@ public final class ElyBySkinProvider implements SkinProvider {
var usernameLowerCase = username.toLowerCase(Locale.ROOT);
return Result.success(SKIN_CACHE.get(usernameLowerCase));
} catch (UncheckedExecutionException e) {
return Result.error((Exception) e.getCause());
} catch (Exception e) {
return Result.error(e);
}

View File

@@ -3,6 +3,7 @@ package net.lionarius.skinrestorer.skin.provider;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.util.concurrent.UncheckedExecutionException;
import com.google.gson.JsonObject;
import com.mojang.authlib.properties.Property;
import it.unimi.dsi.fastutil.Pair;
@@ -64,6 +65,8 @@ public final class MineskinSkinProvider implements SkinProvider {
var uri = new URI(url);
return Result.success(SKIN_CACHE.get(Pair.of(uri, variant)));
} catch (UncheckedExecutionException e) {
return Result.error((Exception) e.getCause());
} catch (Exception e) {
return Result.error(e);
}

View File

@@ -3,6 +3,7 @@ package net.lionarius.skinrestorer.skin.provider;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.util.concurrent.UncheckedExecutionException;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import com.mojang.authlib.yggdrasil.response.MinecraftProfilePropertiesResponse;
@@ -95,6 +96,8 @@ public final class MojangSkinProvider implements SkinProvider {
throw new IllegalArgumentException("no profile found for " + username);
return Result.success(SKIN_CACHE.get(cachedProfile.get().getId()));
} catch (UncheckedExecutionException e) {
return Result.error((Exception) e.getCause());
} catch (Exception e) {
return Result.error(e);
}