`RuntimeException` (unchecked exception) and `Exception` (checked exception) both extend `Throwable`. So by just catching `Exception` you ignore all `RuntimeException`s.

Change this to catch `Throwable` and I'm +1