例外の処理方法について提案されている関数を使用しようとしました。
http://webapp-improved.appspot.com/guide/exceptions.html
main.py で:
def handle_404(request, response, exception):
logging.exception(exception)
response.write('404 Error')
response.set_status(404)
def handle_500(request, response, exception):
logging.exception(exception)
response.write('A server error occurred!')
response.set_status(500)
class AdminPage(webapp2.RequestHandler):
def get(self):
...
admin_id = admin.user_id()
queues = httpRequests.get_queues(admin_id)
app = webapp2.WSGIApplication(...)
app.error_handlers[404] = handle_404
app.error_handlers[500] = handle_500
httpRequests.py の関数:
def get_queues(admin_id):
url = "http://localhost:8080/api/" + admin_id + "/queues"
result = urlfetch.fetch(url)
if (result.status_code == 200):
received_data = json.loads(result.content)
return received_data
API で呼び出されている関数:
class Queues(webapp2.RequestHandler):
def get(self, admin_id):
queues = queues(admin_id)
if queues == []:
self.abort(404)
else:
self.response.write(json.dumps(queues))
httpRequests.py の get_queues で行き詰まっています。urlfetch で HTTP 例外を処理するには?