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".
If anything, the "try...catch" example actually look clearer and better than "!user.ok".