Files.walk, как усвоить исключение и продолжить хождение в файловой системе

Я пытаюсь использовать следующий код:

Files.walk(Paths.get("/home"), FileVisitOption.FOLLOW_LINKS)
    .map(p -> p.getFileName())
    .map(f -> f.toString())
    .filter(s -> s.endsWith(".rb"))
    .forEach(o -> System.out.println(o));

Когда я запускаю его как обычного пользователя, я получил AccessDeniedException, завернутый в UncheckIOException.. И когда вы запустили с правами root, я получил правильный результат.

$ java helloJava8.LambdaExpr 
Exception in thread "main" java.io.UncheckedIOException: java.nio.file.AccessDeniedException: /home/lost+found
    at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:88)
    at java.nio.file.FileTreeIterator.hasNext(FileTreeIterator.java:104)
    at java.util.Iterator.forEachRemaining(Iterator.java:115)
    at .......
$sudo java helloJava8.LambdaExpr 
hello.rb

Я знаю причину проблемы, но то, что я хочу знать, как усвоить это исключение, потому что, если я завершаю вышеуказанный код в блоке Try-Catch, я получил метод walk закончить его работу и остановить ходьбу, хотя fs.