What if we keep the `Try` so we return `Try[Array[String]]` and in this case `populateHadoopClasspath` will deal with the potential _failure_. You can always get the `Throwable` out of a `Try` with the `failed` attribute.

e.g.
```
val t = Try(1/0)
t.failed.get.printStackTrace
```