1

一个非常简单的问题,但似乎没有任何信息。

我想在 try-except 语句中包装对 Facebook 营销 API 的调用。作为一种好的做法(我听说),我想捕获特定的异常,而不是所有的异常。我知道我正在处理的主要异常是FacebookRequestError。但是,我不太明白我该如何尝试——除了这个。

如果我做...

try:
    test = Ad(ad).get_insights()
except FacebookRequestError as e:
    print('Limit exceeded, wait!')
    time.sleep(600)

错误捕获不起作用,因为显然对象“FacebookRequestError”没有分配给任何东西。我在脚本顶部导入了以下内容:

from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount # account-level info
from facebook_business.adobjects.campaign import Campaign # campaign-level info
from facebook_business.adobjects.adset import AdSet # ad-set level info
from facebook_business.adobjects.ad import Ad # ad-level info

那么,我是否需要专门导入异常部分,以便通过子集我为异常属性导入的给定模块来捕获它们?我试过这个,但在任何地方都找不到。

任何帮助将不胜感激,谢谢!

4

1 回答 1

1

该包的 GitHub 存储库中的自述文件(据我所知,它充当包的文档)有一个关于异常的非常简短的部分并引用了该facebook_business.exceptions模块,因此这是一个很好的起点。

于 2021-07-06T09:57:05.583 回答