code: public static URI createUri(String scheme, String host, int port, String path) {
  		try {
  			return new URI(scheme, null, host, port, path, null, null);
  		}
  		catch (URISyntaxException ex) {
  			throw new UrlException(scheme, host, port, path, ex);
  		}
  	}
docs: Create URI object and wrap {@link URISyntaxException} to {@link UrlException}.
  
  @param scheme URL scheme.
  @param host URL host.
  @param port URL port.
  @param path URL path.
  @return The final URI.
  @throws UrlException If URI cannot be built because of an invalid parameter.