我有示例代码
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 HTTPResponse
和return HTTPResponse
之间的区别是什么?
答案 0 :(得分:1)
raise
专门用于生成异常,因此,需要一个从BaseException
类继承的对象。
自`HTTPResponse&#39;并且&#39; 不派生自任何类型的异常,这是非法操作并产生错误。
基本上,raise
用于例外,除非您打算触发错误以捕获或传递堆栈,否则不要使用它。