Skip to content

Instantly share code, notes, and snippets.

@verhas
Created August 25, 2017 10:43
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save verhas/a2ae93fc8ee14746b54df767e54ab9ce to your computer and use it in GitHub Desktop.
Save verhas/a2ae93fc8ee14746b54df767e54ab9ce to your computer and use it in GitHub Desktop.
package packt.java9.network.connect;
import java.util.function.Function;
public class RuntTimeExceptionWrapper {
public static <T> T lame(ExceptionalSupplier<T> z) {
try {
return z.apply();
} catch (Exception e) {
throw new WrapperException(e);
}
}
public static <T, R> Function<T, R> lame(ExceptionalFunction<T, R> f) {
return (T r) -> {
try {
return f.apply(r);
} catch (Exception e) {
throw new WrapperException(e);
}
};
}
public interface ExceptionalSupplier<T> {
T apply() throws Exception;
}
public interface ExceptionalFunction<T, R> {
R apply(T r) throws Exception;
}
public static class WrapperException extends RuntimeException {
WrapperException(Exception e) {
super(e);
}
}
}
@lincze
Copy link

lincze commented Sep 6, 2017

RuntTime -> Runtime

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment