Ich mache gerade eine Menge Sachen mit BigQuery und verwende eine Menge try... except...
. Es sieht aus wie fast jeder Fehler, den ich zurück von BigQuery bekommen, ist eine apiclient.errors.HttpError, aber mit verschiedenen Saiten zu ihnen angebracht werden, d.h .:So verwalten Sie Google API-Fehler in Python
<HttpError 409 when requesting https://www.googleapis.com/bigquery/v2/projects/some_id/datasets/some_dataset/tables?alt=json returned "Already Exists: Table some_id:some_dataset.some_table">
<HttpError 404 when requesting https://www.googleapis.com/bigquery/v2/projects/some_id/jobs/sdfgsdfg?alt=json returned "Not Found: Job some_id:sdfgsdfg">
unter vielen anderen. Momentan ist die einzige Möglichkeit, die ich damit umgehen kann, das Ausführen von Regexs auf den Fehlermeldungen, aber das ist chaotisch und definitiv nicht ideal. Gibt es einen besseren Weg?
Es sieht so aus, als hätte die Exception ein paar [zusätzliche Attribute] (https://code.google.com/p/google-api-python-client/source/browse/apiclient/errors.py#35), auf die Sie sich verlassen könnten - Insbesondere könnten Sie (versuchen Sie es) parse den JSON aus dem 'error.content' und arbeite damit. – mgilson