当前位置: 首页 > news >正文

深圳做网站-信科网络seo排名优化北京

深圳做网站-信科网络,seo排名优化北京,xml格式文件打开都是乱码,网站制作公司合肥Python学习之Flask全局异常处理流程_flask 异常处理-CSDN博客 读取文件错误 OSError: [Errno 22] Invalid argument:_[errno 22] invalid argument: ..\\data\\snli_1.0\\-CSDN博客 异常触发 assert触发异常: 在Python中,使用assert语句可以检查某个条…
Python学习之Flask全局异常处理流程_flask 异常处理-CSDN博客

读取文件错误 OSError: [Errno 22] Invalid argument:_[errno 22] invalid argument: '..\\data\\snli_1.0\\-CSDN博客


异常触发

assert触发异常: 在Python中,使用assert语句可以检查某个条件是否为真,如果条件为假,则会触发AssertionError异常。在Flask中,可以利用assert语句进行请求参数的校验。


raise触发异常: 在Python中,使用raise语句可以显式地触发特定的异常。在Flask应用程序中,我们可以根据需要触发不同类型的异常来处理业务逻辑。


abort触发异常: 在Flask中,可以使用abort函数手动触发HTTP错误。abort函数默认触发一个HTTPException异常。
 

主动抛出HTTP异常
from flask import Flask, request, abortapp = Flask(__name__)@app.route("/")
def index():password = request.args.get("password")if password != "123456":# 主动抛出异常!# abort的第一个参数:表示本次抛出的HTTP异常状态码,后续其他参数,表示错误相关的提示内容。abort(400)return "ok"if __name__ == '__main__':app.run(host="0.0.0.0", port=5000, debug=True)

abort,只能抛出 HTTP 协议的错误状态码,一般用于权限等页面上错误的展示提示. abort 在有些前后端分离的项目里面不会被使用,往往在业务错误的时候使用raise进行抛出错误类型,而不是抛出http异常。

捕获异常

@app.errorhandler的参数是异常类型或者HTTP状态码

在Flask应用程序中,通过@app.errorhandler装饰器将异常类型与处理函数绑定。这样做的目的是在应用程序运行过程中捕获特定类型的异常,并进行适当的处理。可以为不同的HTTP状态码或其他异常类型注册相应的处理函数。

from flask import Flask, request, abortapp = Flask(__name__)class NetWorkError(Exception):pass@app.route("/")
def index():password = request.args.get("password")if password != "123456":raise NetWorkError("网络请求出错!")# print(hello)return "ok"# @app.errorhandler的参数是异常类型或者HTTP状态码@app.errorhandler(NameError)
def NameErrorFunc(exc):"""针对变量命名的异常处理:param exc::return:"""print(exc.__traceback__)return {"error": f"{exc}"}@app.errorhandler(400)
def error_400(exc, *args, **kwargs):print(exc.__traceback__)print(exc.code)        # 上面abort传递的错误状态码print(exc.description) # 上面abort传递的错误描述return {"error": f"{exc.description}"}@app.errorhandler(404)
def error_404(exc):print(exc.code)        # 上面abort传递的错误状态码print(exc.description) # 上面abort传递的错误描述return {"error": "当前页面不存在!"}@app.errorhandler(NetWorkError)
def network_error(exc):return {"error": f"{exc}"}if __name__ == '__main__':app.run(host="0.0.0.0", port=5000, debug=True)

刚进去主页面会显示这个,也就是raise函数发挥了作用

这里就是常见的404报错现场,没有找到对应的页面

总结
1、注册处理函数,将特定类型的异常与相应的处理函数绑定。
2、在应用程序执行过程中,如果发生异常,Flask会寻找匹配的异常处理函数。
3、匹配到异常处理函数后,控制权转移到异常处理函数,并执行相应的处理逻辑。
5、异常处理函数可以根据需要进行自定义的异常信息返回、日志记录或其他操作。
6、处理完异常后,Flask会返回相应的错误响应给客户端。
http://www.shuangfujiaoyu.com/news/55342.html

相关文章:

  • java librec 网站开发手机优化软件
  • 网站链接文字seo排名优化软件有
  • 网站与规划设计思路廊坊百度快照优化排名
  • 筑云电商网站建设公司网站seo优化总结
  • 淘宝运营跟做网站哪种工资高富阳seo关键词优化
  • 中国最贵的域名交易福州百度seo代理
  • 关于营销的网站有哪些内容清远新闻最新
  • 建设旅游网站的好处搜索引擎优化包括哪些方面
  • 网站首页设计布局竞价代运营外包公司
  • 烟台城乡建设局网站东莞网站推广排名
  • wordpress getpagenumlink搜索优化网络推广
  • 重庆网站制作1000网站运营推广方式
  • 南昌网站建设模板文档长沙网络推广营销
  • 个人备案网站做淘宝客网站ip查询站长工具
  • 三站合一的网站怎么做今日新闻最新消息大事
  • sharepoint网站制作找竞价托管公司
  • 网站建设主要课程如何做广告宣传与推广
  • 做历史课件用哪个网站比较好网站优化关键词价格
  • word文档怎么做网站跳转链接网站百度不收录的原因
  • wordpress无法显示主页内容seo是啥
  • 大淘客怎样做网站关键词搜索爱站网
  • 做3d效果图有什么好网站百度口碑官网
  • 珠海网站建设优化搜索引擎优化需要多少钱
  • 浏阳做网站公司网上营销新观察网
  • 网站制作公司哪里好合肥网站优化平台
  • 做视频网站需要什么软件app运营推广是干什么
  • 五网合一网站建设网络营销sem培训
  • 专业网站建设比较好网站关键词优化费用
  • 去哪个网站做试用好选择宁波seo优化公司
  • 做网站和做新媒体运营百度推广哪家做的最好