我有一个flask_app.py,它有异常处理,
from flask import abort
@app.errorhandler(404)
def NotFoundError(e):
return jsonify(error=str(e)), 404
if INDEX_EXTENSION == '':
abort(404, description="Index Extension cannot be NULL")
如果我在POSTMAN中运行该应用程序,我会在POSTMAN响应体中收到预期的错误消息
{
"error": "404 Not Found: Index Extension cannot be NULL"
}
我正在从flask_app.py中的另一个utils.py导入函数,比如
from utils import loaddata
如果函数引发错误,我可以将函数放在flask_app.py内的try块中,将错误消息传递给的POSTMAN
在不将函数放入try块的情况下,是否可以将函数内部引发的异常作为jsonify消息而不是HTML格式发送到POSTMAN,例如,在函数内部我有
if len(data) == 0:
raise Exception('Null Data, Check Data Range')
这被传递到控制台作为";追溯(最近一次通话(:"在波斯曼作为
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Exception: Null Data, Check Data Range // Werkzeug Debugger</title>
<link rel="stylesheet" href="?__debugger__=yes&cmd=resource&f=style.css" type="text/css">
.....
.
.
.
.
有可能把它取消吗?
只需添加一个自定义错误处理程序,如:
def loaddata():
messages = []
# do stuff
if len(data) == 0:
messages.append('Null Data, Check Data Range')
return messages
然后在你的烧瓶中编码:
dofunc = loaddata() # dofunc equals to error messages with the codes in the function being already executed
# instead of abort
if len(dofunc) > 0:
return jsonify({'error': dofunc})
演示代码供您理解!