Why should it throw an exception ?
If a user is not logged in (or logged in via a username and password, i.e. not via a social provider) and I want to check if the user has a social provider of some kind, it'll force me to catch exceptions in the view, which is not so good.

The current code works as ZfcUserIdentity and allows you to call it and check if it was false, meaning the given user doesn't have the asked-for provider.