I'm building a messenger library, and I have a question about how properly to report specific errors to the user. 

The main Messenger class has two states - logged in, and logged out.

Errors that occur internally can cause the client to logout.

For example, a DisconnectException (if a SocketException occurs internally), or a ChallengeFailedException if the client is unable to complete a challenge issued by the messenger server.

Is it ok (or recommended) to pass the exception to the user in the LogoutEventArgs ? for instance - LogoutEventArgs.Exception

Or is there a more ideal way to handle this?