您最近是否遵循Mute-Design-Pattern™编写了大量代码? 例如
try {complex();logic();here();
}
catch (Exception ignore) {// Will never happen heheSystem.exit(-1);
}
Java 8有一个更简单的方法!
只需将这个非常有用的工具添加到您的Utilities或Helper类:
public class Helper {// 18395 lines of other code here@FunctionalInterfaceinterface CheckedRunnable {void run() throws Throwable;}public static void mute(CheckedRunnable r) {try {r.run();}catch (Throwable ignore) {// OK, better stay safeignore.printStackTrace();}}// 37831 lines of other code here
}
现在,您可以将所有逻辑包装在这个漂亮的小包装中:
mute(() -> {complex();logic();here();
});
做完了!
更好的是,在某些情况下,您可以使用方法引用
try (Connection con = ...;PreparedStatement stmt = ...) {mute(stmt::executeUpdate);
}
翻译自: https://www.javacodegeeks.com/2016/02/mute-design-pattern.html