imported patch 22
diff --git a/apiclient/discovery.py b/apiclient/discovery.py
index bcfdd69..bfe42e2 100644
--- a/apiclient/discovery.py
+++ b/apiclient/discovery.py
@@ -45,6 +45,7 @@
 from errors import InvalidJsonError
 from errors import MediaUploadSizeError
 from errors import UnacceptableMimeTypeError
+from errors import UnknownApiOrApiVersion
 from errors import UnknownLinkType
 from http import HttpRequest
 from model import JsonModel
@@ -167,6 +168,9 @@
 
   resp, content = http.request(requested_url)
 
+  if resp.status == 404:
+    raise UnknownApiOrApiVersion("name: %s  version: %s" % (serviceName,
+                                                            version))
   if resp.status >= 400:
     raise HttpError(resp, content, requested_url)
 
diff --git a/apiclient/errors.py b/apiclient/errors.py
index c017912..c77c704 100644
--- a/apiclient/errors.py
+++ b/apiclient/errors.py
@@ -70,6 +70,10 @@
   """Link type unknown or unexpected."""
   pass
 
+class UnknownApiOrApiVersion(Error):
+  """No API with that name and version exists."""
+  pass
+
 
 class UnacceptableMimeTypeError(Error):
   """That is an unacceptable mimetype for this operation."""