全部,
有没有办法从处理程序中出错/退出执行?例如,如果传入的请求不包含正确的标头,我们希望发送 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"}')
当我提交一个不带上述自定义标头的请求时,我得到一个 400,但我还在响应正文中获得了成功 json,它告诉我self.error(400)
不会停止执行,也不会停止执行self.response.set_status(400)
。
所以,问题是,是否有可能从处理程序中出错?