Google cloud platform GCP Python库的基本异常类:";谷歌api python客户端“;

Google cloud platform GCP Python库的基本异常类:";谷歌api python客户端“;,google-cloud-platform,google-compute-engine,google-api-python-client,Google Cloud Platform,Google Compute Engine,Google Api Python Client,我正在使用谷歌云提供的谷歌api python客户端库。 我正在使用it中的许多方法来操作计算引擎资源(磁盘、实例、快照等) 但是,在执行大量操作时,为了更好地处理和恢复代码,我应该添加try..catch块&在添加块时,我意识到googlecloud没有提供任何基本的异常类 我想到的最糟糕的情况是: try: <code> except: <prompt error> 试试看: 除: 但我相信这不是正确的方法 我错过什么了吗?或者异常处理程序不是由GCP库提供

我正在使用谷歌云提供的谷歌api python客户端库。 我正在使用it中的许多方法来操作计算引擎资源(磁盘、实例、快照等) 但是,在执行大量操作时,为了更好地处理和恢复代码,我应该添加
try..catch
块&在添加块时,我意识到googlecloud没有提供任何基本的异常类

我想到的最糟糕的情况是:

try:
 <code>
except:
 <prompt error>
试试看:

除:
但我相信这不是正确的方法


我错过什么了吗?或者异常处理程序不是由GCP库提供的?

简单的回答是
google api python client
没有您要查找的异常类

google-api-python客户机
库是一个较旧的库,受支持但未积极开发。客户机调用代码都是自动生成的,对于许多API来说,它是一个非常通用的客户机,因此除了在网络/传输/HTTP层之外,没有多少有意义的异常编码

未来的发展是在library上,它是手写库和自动生成库的混合体。您可能会注意到,并非所有的API(包括compute)都已经存在,尽管它们会及时出现。新的自动生成代码将更加关注惯用语言模式


新库有一些更具体的异常,但是如果您对如何进一步改进它有任何想法,我会将您的想法描述为
googlecloudpython
客户端库上的一个Github问题。

简单的回答是
googleapi python客户端
没有您正在寻找的异常类

google-api-python客户机
库是一个较旧的库,受支持但未积极开发。客户机调用代码都是自动生成的,对于许多API来说,它是一个非常通用的客户机,因此除了在网络/传输/HTTP层之外,没有多少有意义的异常编码

未来的发展是在library上,它是手写库和自动生成库的混合体。您可能会注意到,并非所有的API(包括compute)都已经存在,尽管它们会及时出现。新的自动生成代码将更加关注惯用语言模式


新图书馆有一些更具体的例外,但是,如果您对如何进一步改进它有任何想法,我会将您的想法描述为
googlecloudpython
客户端库上的一个Github问题。

我浏览了API返回的文档和错误堆栈&我能够找到处理错误的方法来处理代码中的异常

所以,不像你提到的,这是可能的

使用以下方法,我们可以处理错误/异常

import oauth2client.client
from googleapiclient import discovery
import googleapiclient.errors

#
# prepare credentials dictionary
#

try:
    compute = discovery.build(
            "compute", "v1", credentials=credentials)
except oauth2client.client.HttpAccessTokenRefreshError as e:
    print 'Error > ', e.message
except googleapiclient.errors.HttpError as e:
    reason = str(e._get_reason).split("\"")[-2]
    print 'Error > ', reason
我希望,这是有帮助的

这两个是最常见的错误。可能还有其他错误,这完全取决于具体情况

但是所有的错误都应该出现在GoogleAppClient.errors类中


@Bill Prin,请让我知道。

我浏览了API返回的文档和错误堆栈&我能够找到处理错误的方法来处理代码中的异常

所以,不像你提到的,这是可能的

使用以下方法,我们可以处理错误/异常

import oauth2client.client
from googleapiclient import discovery
import googleapiclient.errors

#
# prepare credentials dictionary
#

try:
    compute = discovery.build(
            "compute", "v1", credentials=credentials)
except oauth2client.client.HttpAccessTokenRefreshError as e:
    print 'Error > ', e.message
except googleapiclient.errors.HttpError as e:
    reason = str(e._get_reason).split("\"")[-2]
    print 'Error > ', reason
我希望,这是有帮助的

这两个是最常见的错误。可能还有其他错误,这完全取决于具体情况

但是所有的错误都应该出现在GoogleAppClient.errors类中


@Bill Prin,请让我知道。

谢谢@Bill,那么google api python客户端没有异常处理吗?我应该把我的代码移植到google cloud python库吗?我可以找到这个链接,其中API和详细信息都被很好地提到了,你知道类似于
googlecloudpython
library的内容吗?以下是[google-cloud-python()的文档。如果google cloud python支持你的API,你应该使用它。如果它不支持你的API,你可以坚持使用
google API python客户端
,我只是解释为什么没有新的活动功能开发,这意味着异常改进可以在
google cloud python
中进行,但不能在
google API python客户端
中进行。请检查上述ans谢谢@Bill,所以google api python客户端没有异常处理?我应该将我的代码移植到google cloud python库吗?我可以找到这个链接,其中api和详细信息都被很好地提到了。你知道关于
google cloud python
库的类似内容吗?这是我的文档[google-cloud-python()。如果google cloud python支持你的API,你应该使用它。如果它不支持你的API,你可以坚持使用
google API python客户端
,我只是解释为什么没有新的活动功能开发,这意味着异常改进可以在
google cloud python
中进行,但不能在
google API python客户端
中进行。请检查上述ans我提到过你,如果我是对的,请告诉我。