2012-11-14 62 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将会执行此操作。