catch `Exception` (or more a subtype, if possible) rather than `Throwable`