From bce37cb278e7b5ff49683641b0bd8232ea1cdd67 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Sat, 11 Dec 2021 10:43:53 -0700 Subject: [PATCH] fix exception not being passed through future --- .../queue/platforms/bungeecord/server/BungeeServer.java | 4 +++- .../queue/platforms/velocity/server/VelocityServer.java | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java index 6c8dc38..5a17dd8 100644 --- a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java +++ b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java @@ -37,8 +37,10 @@ public class BungeeServer implements AdaptedServer { CompletableFuture future = new CompletableFuture<>(); handle.ping((pp, error) -> { if(error != null) { - future.complete(null); + future.completeExceptionally(error); + return; } + future.complete(new BungeeServerPing(pp)); }); return future; diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java index c43333c..7af2d64 100644 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java +++ b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java @@ -36,11 +36,12 @@ public class VelocityServer implements AdaptedServer { CompletableFuture future = new CompletableFuture<>(); CompletableFuture serverPing = handle.ping(); serverPing.thenRunAsync(() -> { - AdaptedServerPing aPing = null; + AdaptedServerPing aPing; try { aPing = new VelocityServerPing(serverPing.get()); - } catch (InterruptedException | ExecutionException e) { - e.printStackTrace(); + } catch (Throwable e) { + future.completeExceptionally(e); + return; } future.complete(aPing); });