您最近是否遵循Mute-Design-Pattern™编写了大量代码? 例如
try {
complex();
logic();
here();
}
catch (Exception ignore) {
// Will never happen hehe
System.exit(-1);
}
Java 8有一个更简单的方法!
只需将这个非常有用的工具添加到您的Utilities或Helper类:
public class Helper {
// 18395 lines of other code here
@FunctionalInterface
interface CheckedRunnable {
void run() throws Throwable;
}
public static void mute(CheckedRunnable r) {
try {
r.run();
}
catch (Throwable ignore) {
// OK, better stay safe
ignore.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