aboutsummaryrefslogtreecommitdiff
path: root/android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java')
-rw-r--r--android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java b/android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java
index f09816c4e..62ae63eaa 100644
--- a/android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java
+++ b/android/guava/src/com/google/common/util/concurrent/ImmediateFuture.java
@@ -22,7 +22,6 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.annotation.CheckForNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -33,7 +32,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
class ImmediateFuture<V extends @Nullable Object> implements ListenableFuture<V> {
static final ListenableFuture<?> NULL = new ImmediateFuture<@Nullable Object>(null);
- private static final Logger log = Logger.getLogger(ImmediateFuture.class.getName());
+ private static final LazyLogger log = new LazyLogger(ImmediateFuture.class);
@ParametricNullness private final V value;
@@ -42,18 +41,23 @@ class ImmediateFuture<V extends @Nullable Object> implements ListenableFuture<V>
}
@Override
+ @SuppressWarnings("CatchingUnchecked") // sneaky checked exception
public void addListener(Runnable listener, Executor executor) {
checkNotNull(listener, "Runnable was null.");
checkNotNull(executor, "Executor was null.");
try {
executor.execute(listener);
- } catch (RuntimeException e) {
+ } catch (Exception e) { // sneaky checked exception
// ListenableFuture's contract is that it will not throw unchecked exceptions, so log the bad
// runnable and/or executor and swallow it.
- log.log(
- Level.SEVERE,
- "RuntimeException while executing runnable " + listener + " with executor " + executor,
- e);
+ log.get()
+ .log(
+ Level.SEVERE,
+ "RuntimeException while executing runnable "
+ + listener
+ + " with executor "
+ + executor,
+ e);
}
}