This wraps way more code than it needs to. It should wrap *only* the call to `#relative_path_from`. All other computation should happen outside the `begin`/`rescue` block.

Also, add a comment explaining what causes an ArgumentError.