This is super duper dangerous (matching all Throwables)--bad things include:
 - Matching OutOfMemoryError
 - Matching InterruptedException
 - Matching flow control exceptions from Akka
...among MANY others.

It's acceptable to match all Throwables in exactly one place--a top-level error handler/reporter. Anywhere else, in the worst case, you want to use this instead:

    } catch {
        case NonFatal(t) => //do something with the non-fatal exception
    }

In this case though, what things specifically do the Files.is*() functions throw? If they don't specify, I like to leave it empty and let them propagate. Then whenever errors are actually observed during testing or runtime, I go back and add the specific handler at the appropriate layer doing the appropriate wrapping. In this way I'll be able to differentiate between "file missing" and "invalid permissions", etc, which makes responding to the errors easier at whatever layer handles these errors.