Raise specific exceptions

This is the change I wanted to make originally :wink: 

Now it raises a specific exception that can be easily rescued, instead of having to rescue it all:

```ruby
begin
  @uri = URI::Data.new(uri)
rescue URI::InvalidURIError
  # whatever
end
```