2012-11-14 59 views
0

所有,AppEngine上的錯誤處理

有沒有辦法錯誤出/退出執行了處理的?例如,如果傳入的請求不包含正確的頭部,我們想發送一個400並退出/關閉連接。然而,當我們使用self.error(400)self.response.set_status(400)任何其他代碼它執行後反正因此,舉例來說:

class MyPastaHandler(webapp2.Handler): 
    def get(): 
     if not self.request.headers.get('My-Custom-Header'): 
     self.error(400) 
     ... 
     [more code] 
     self.response.out.write('{"success": "true"}') 

當我提交請求W/O上述自定義頭,我得到一個400,但我也得到響應正文中的成功json,告訴我self.error(400)不會停止執行,也不會self.response.set_status(400)

所以,問題是,是否有可能從字面上錯誤處理程序?

回答

0

事實證明,有一種簡單的方法可以在400(或任何自定義錯誤)後退出。正如AppEngine IRC頻道中的TheFluff所描述的那樣,self.error(400)之後的一個簡單的老式空return將會執行此操作。