Discarding an exception after calling printStackTrace should usually be avoided.
try { // ... } catch (IOException e) { logger.log(INFO, "something has gone terribly wrong", e); }
try { // ... } catch (IOException e) { throw new UncheckedIOException(e); // New in Java 8 }
try { // ... } catch (IOException e) { e.printStackTrace(); }