We collect any errors coming from WebSocket via on_error in an errors list.
But it's up to the test to ensure these errors are raised/handled, but this is very cumbersome and error-prone.
With this diff, recv will raise any received errors so they can be handled properly.