Bottlepy return 如果引发 HTTPResponse 输出,但引发模板时给出错误

Bottlepy return output if raise HTTPResponse, but give error when raise template

我有示例代码

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 不是 return 数据的正确方法。但是我已经准备好这段代码,需要使用它。

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

我如何说服不要在应用程序中使用 raise,但不确定我给出了什么论据来说服?

raise HTTPResponsereturn HTTPResponse有什么区别?

raise 专门用于生成异常,因此,需要一个从 BaseException class.

继承的对象

由于“HTTPResponse”和“不是来自任何类型的异常,因此它是非法操作并会产生错误。

基本上,raise是为了异常,除非你打算触发错误来捕获或传递堆栈,否则不要使用它。