如果提高HTTPResponse,则返回Bottlepy返回输出,但在引发模板

时间:2017-01-19 22:36:38

标签: python templates httpresponse bottle

我有示例代码

from bottle import HTTPResponse, run, route, template

@route('/')
def hello_world():
    raise HTTPResponse(body='test', status=200)

@route('/test')
def test():
    raise template('<b>Hello {{name}}</b>!', name='World')

run(host='localhost', port=9999)

我知道,raise不是返回数据的正确方法。但我准备好了这段代码,需要使用它。

我想知道,当我raise HTTPResponse有效时,但是当我尝试raise template时,它会给出错误。

我如何说服不要在申请中使用raise,但不确定我说服的论点是什么?

raise HTTPResponsereturn HTTPResponse之间的区别是什么?

1 个答案:

答案 0 :(得分:1)

raise专门用于生成异常,因此,需要一个从BaseException类继承的对象。

自`HTTPResponse&#39;并且&#39; 派生自任何类型的异常,这是非法操作并产生错误。

基本上,raise用于例外,除非您打算触发错误以捕获或传递堆栈,否则不要使用它。