Reputation: 53
I am trying to catch HTTP errors. I used following options: 1) googleapiclient.errors.HttpError 2) google.api_core.exceptions.NotFound
Neither of these options work for me. Any ideas why? Thank you!
from pprint import pprint
from googleapiclient import discovery, errors
from oauth2client.client import GoogleCredentials
#from google.api_core.exceptions import NotFound
credentials = GoogleCredentials.get_application_default()
service = discovery.build('compute', 'v1', credentials=credentials)
# Project ID for this request.
project = 'aweqwfnwrueifubwerfbiu' # TODO: Update placeholder value.
try:
request = service.firewalls().list(project=project)
except errors.HttpError:
pprint('Error!')
while request is not None:
response = request.execute()
for firewall in response['items']:
# TODO: Change code below to process each `firewall` resource:
pprint(firewall)
request = service.firewalls().list_next(previous_request=request, previous_response=response)
Traceback (most recent call last):
File "test.py", line 20, in <module>
response = request.execute()
File "/lib/python3.6/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/lib/python3.6/site-packages/googleapiclient/http.py", line 856, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://compute.googleapis.com/compute/v1/projects/aweqwfnwrueifubwerfbiu/global/firewalls?alt=json returned "The resource 'projects/aweqwfnwrueifubwerfbiu' was not found">
Upvotes: 1
Views: 2115
Reputation: 502
Try this for handling the error
from googleapiclient.errors import HttpError
However, the error doesn't appear to be raising where your exception catch is. It's here
while request is not None:
response = request.execute()
Not here
try:
request = service.firewalls().list(project=project)
except errors.HttpError:
pprint('Error!')
So try changing it to this
while request is not None:
try:
response = request.execute()
except errors.HttpError:
pprint('Error!')
Upvotes: 2