ProjectAres/Util/core/src/main/java/tc/oc/commons/core/util/ThrowingRunnable.java

18 lines
370 B
Java

package tc.oc.commons.core.util;
import com.google.common.base.Throwables;
public interface ThrowingRunnable<E extends Throwable> extends Runnable {
void runThrows() throws E;
@Override
default void run() {
try {
runThrows();
} catch(Throwable throwable) {
throw Throwables.propagate(throwable);
}
}
}