If an onError handler is not provided we should throw an exception if an error occurs even though it will likely show up on some other thread.