Maybe I'm old, but I can't see any reasons why this is better after looking at the before/after example. This is adding unnecessary complexity with very little benefit (if at all).
If anything, the "try...catch" example actually look clearer and better than "!user.ok".