This UtilException helper class lets you use any checked exceptions in Java streams, like this: Stream.of("java.lang.Object", "java.lang.Integer", "java.lang.String") .map(rethrowFunction(Class::forName)) .collect(Collectors.toList()); Note Class::forName throws ClassNotFoundException, which is checked. The stream itself also throws ClassNotFoundException, and NOT some wrapping unchecked exception. public final class UtilException { @FunctionalInterface public interface Consumer_WithExceptions<T> { void...

my recommendation, although different people will have different opinions about this, is to: use checked exceptions for exceptional conditions that should be handled by what you consider part of your application logic, e.g: user typed in a non existing user name to log in, user tried to save and item...