api - Flask:@app.errorhandler(500) 和 @app.errorhandler(exception) 之间的区别
问题描述
据我了解,@app.errorhandler(500) 会更改未处理错误的默认错误,而 @app.errorhandler(exception) 会捕获所有错误(已使用处理程序指定的错误除外)。这不是说这两件事本质上都达到了同样的目的吗?真的有区别吗
解决方案
@app.errorhandler(500)
将处理源自返回HTTP 状态代码500 的页面的错误。而@app.errorhandler(exception)
范围更广,可用于global exception handling
. 例如,如果您的代码引发了 OSError 异常,则应在此处处理异常(除非有问题的代码被其自己的 try/catch 块覆盖)。
因此,它可以很方便地用于@app.errorhandler(404)
自定义 404 Not found 页面并@app.errorhandler(exception)
一直用于更严重的 Python 异常。
推荐阅读
- github - 当 Jira 票不存在时如何阻止 GitHub 拉取请求
- javascript - PHP:如何从数据库中获取价值到已经创建的文本框
- html - 没有边缘的 HTML 表格
- python - 无法使用 Python 和 Node 对应用程序进行代码设计
- node.js - 通过多对多关系表检索 sequelize 行
- vim - Vim:探索,按下时不要编辑文件
- codeigniter - 严重性通知:未定义的变量 - images_model
- cloud - '由 google API 翻译的最大字符串大小'
- firebase - Ionic Firestore 聊天 - 无法不断检查更新
- c# - 身份:“强制”-account-login(不提供密码)后,正常登录方式(带密码)停止工作