From a630984cb0545512c60f3b938e4ecc8b3c841046 Mon Sep 17 00:00:00 2001 From: WhatCats Date: Tue, 14 Jan 2025 23:26:02 +0100 Subject: [PATCH] don't log empty cancellation exceptions --- build.gradle | 2 +- .../java/dev/tommyjs/futur/promise/AbstractPromise.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 052bbc3..ffd6e04 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ nexusPublishing { subprojects { group = 'dev.tommyjs' - version = '2.4.0' + version = '2.4.1' apply plugin: 'java-library' apply plugin: 'com.github.johnrengelman.shadow' diff --git a/futur-api/src/main/java/dev/tommyjs/futur/promise/AbstractPromise.java b/futur-api/src/main/java/dev/tommyjs/futur/promise/AbstractPromise.java index 149df3c..1cdfb28 100644 --- a/futur-api/src/main/java/dev/tommyjs/futur/promise/AbstractPromise.java +++ b/futur-api/src/main/java/dev/tommyjs/futur/promise/AbstractPromise.java @@ -443,7 +443,14 @@ public abstract class AbstractPromise implements Promise { @Override public @NotNull Promise logExceptions(@NotNull String message) { Exception wrapper = new DeferredExecutionException(); - return onError(e -> getLogger().error(message, wrapper.initCause(e))); + return onError(e -> { + if (e instanceof CancellationException && e.getMessage() == null && e.getCause() == null) { + // Ignore cancellation exceptions without a message or cause + return; + } + + getLogger().error(message, wrapper.initCause(e)); + }); } @Override