我调用Udemy外部api来构建一个简单的REST服务,用于实验目的。在
这是我的get_all()courses方法。在class Courses(object):
"""
Handles all requests related to courses.
ie; gets the courses-list, courses-detail, coursesreviews-list
"""
def __init__(self, api):
self.api = api
logger.debug("courses initialized")
def get_all(self):
page = 1
per_page = 20
while True:
res = self._get_courses(page, per_page)
if not res['results']:
break
try:
for one in res['results']:
yield one
except Exception as e: -->>>handling exception
print(e)
break
page += 1
def _get_courses_detail(self, page, per_page):
resource = "courses"
params = {'page': page, 'per_page': per_page,
# 'fields[course]': '@all'
}
res = self.api.get(resource, params)
return res
现在,假设api的返回数据中可能存在错误,那么处理异常(在get_all()方法中)是否合理?在
或者这里不需要处理异常(在get_all中),而应该由调用函数来处理?在
我看到的大多数开源项目都不处理这个异常。在
本文探讨了在构建REST服务时,如何适当地处理Udemy API 返回的潜在错误。作者在get_all()方法中提出处理异常的问题,并讨论了是否应在该层级还是调用者层面进行异常管理。
3614

被折叠的 条评论
为什么被折叠?



