diff --git a/src/main/java/com/github/phantomthief/util/MoreFunctions.java b/src/main/java/com/github/phantomthief/util/MoreFunctions.java
index <HASH>..<HASH> 100644
--- a/src/main/java/com/github/phantomthief/util/MoreFunctions.java
+++ b/src/main/java/com/github/phantomthief/util/MoreFunctions.java
@@ -28,10 +28,24 @@ public final class MoreFunctions {
         return catching(callable, e -> logger.error("", e));
     }
 
+    public static <X extends Exception> void catching(ThrowableRunnable<X> callable) {
+        catching(() -> {
+            callable.run();
+            return null;
+        }, e -> logger.error("", e));
+    }
+
     public static <R> R throwing(Callable<R> callable) {
         return catching(callable, Throwables::propagate);
     }
 
+    public static <X extends Exception> void throwing(ThrowableRunnable<X> callable) {
+        catching(() -> {
+            callable.run();
+            return null;
+        }, Throwables::propagate);
+    }
+
     public static <R, X extends Throwable> R catching(Callable<R> callable,
             ThrowableConsumer<Throwable, X> exceptionHandler) throws X {
         try {
add new catching and throwing overrides for runnable (#6)