Raise errors up the chain when reconnecting instead of swallowing them

This is debatable, but I found it super helpful to emit errors instead of swallowing them as part of the reconnection process.  Using this change I could log the errors in realtime and monitor the application state during reconnection.