I would avoid the `rescue` altogether here. If we have a specific case we'd like to handle in mind that's good, but if it's a general prophylactic and we don't have tests to cover it let's drop it - especially as `canonical_path` is expected to return a string. If someone upstream calls `@site.canonical_path('http://some_url_that_causes_an_error/1/2/3').split('/')`, for example, instead of seeing an `Addressable::URI::InvalidURIError`, she'll see `NoMethodError: undefined method `split' for false:FalseClass` and will have to do some detective work.