That makes me sad. Also the nested try/except makes me sad. :(

Let's make the url `None` for now, rather than add another param to the constructor. Perhaps we'll find a better place for it later.

I don't see a way around the double try/except unfortunately. Kinda tempted to pull out some of the meat of `read(...)` into a private helper but not sure.