should probably not catch `Throwable` here (#712 is working towards reverting all of these)