Explain Empty Catch

 class​ Logbook {
 
 static​ ​final​ Path LOG_FOLDER = Paths.get(​"/var/log"​);
 static​ ​final​ String FILE_FILTER = ​"*.log"​;
 
  List<Path> getLogs() ​throws​ IOException {
  List<Path> result = ​new​ ArrayList<>();
 
 try​ (DirectoryStream<Path> directoryStream =
  Files.newDirectoryStream(LOG_FOLDER, FILE_FILTER)) {
 for​ (Path logFile : directoryStream) {
  result.add(logFile);
  }
» } ​catch​ (NotDirectoryException e) {
 
  }
 
 return​ result;
  }
 }

In the last comparison of this chapter, we’re going back to catching exceptions. Above, you can see a different version of the LogBook example from the previous pages. It closes resources properly, but something else is strange: the catch block.

You should ...

Get Java By Comparison now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.