Flask之异常处理
异常处理
HTTP 异常主动抛出
- abort 方法
- 抛出一个给定状态代码的 HTTPException 或者 指定响应,例如想要用一个页面未找到异常来终止请求,你可以调用 abort(404)。
- 参数:
- code – HTTP的错误状态码
# abort(404)
abort(500)
抛出状态码的话,只能抛出 HTTP 协议的错误状态码
示例代码:
from flask import Flask, render_template, abortapp = Flask(__name__)@app.route('/users/<int:user_id>')
def index(user_id):if user_id < 5:abort(444)return render_template('index.html')app.run()
运行效果:
【这儿abort写成404时,页面会报404的错误,但是服务器不会显示错误信息】 【这儿要写确定的状态码】
捕获错误
- errorhandler 装饰器
- 注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法
- 参数:
- code_or_exception – HTTP的错误状态码或指定异常
- 例如统一处理状态码为500的错误给用户友好的提示:
@app.errorhandler(500)
def internal_server_error(e):return '服务器搬家了'
示例代码:
from flask import Flask, render_template, abortapp = Flask(__name__)@app.route('/users/<int:user_id>')
def index(user_id):if user_id < 5:abort(500)return render_template('index.html')@app.errorhandler(500)
def internal_server_error(e):print(e)return '服务器搬家了'app.run()
运行效果:
- 捕获指定异常
@app.errorhandler(ZeroDivisionError)
def zero_division_error(e):return '除数不能为0'
示例代码:
from flask import Flask, render_template, abortapp = Flask(__name__)@app.route('/test')
def index():9 / 0return render_template('index.html')@app.errorhandler(ZeroDivisionError)
def zero_division_error(e):print(e)return '除数不能为0'app.run()
运行效果:
Flask之异常处理相关推荐
- python异常处理类源码_Flask源码异常处理问题
Flask version: 0.3 我事先在views.py里面定义了如下的异常处理方法: @app.errorhandler(404) def page_not_found(): return & ...
- 如何使用Python Flask编写Web服务
我们的许多客户正在使用我们的Webhook功能来构建有用的服务,但不幸的是,其他客户却没有. 我们经常听到他们的团队中没有人足够熟练地编写一种服务,该服务可以提取Webhook负载并处理数据. 这使得 ...
- Python Web异常处理
文章目录 1.异常处理流程 1.异常注册 2.异常触发 3.异常处理 2.flask-jwt集成,认证相关异常处理 参考博客 要做一个python web系统,做简单的信息管理和案例展示,还要考虑后续 ...
- Web框架——Flask系列之abort函数与自定义异常处理(十三)
一.abort函数 使用abort函数可以立即终止视图函数的执行,并可以返回给前端特定的信息 传递状态码信息,必须是标准的http状态码 abort(403) 传递响应体信息 resp = Respo ...
- Flask 消息提示与异常处理
1. 消息提示 flask 中提供了消息闪现机制,方便我们消息提示,所使用的模块是 flash 模块.在我们使用 flash 时,我们需要调用 app.secret_key 字段,该字段会对消息进行加 ...
- web框架总结(django、flask)
1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...
- python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...
资源详情 r n t某课网好评度100%的Python Flask高级编程之RESTFul API前后端分离精讲 r n t t t第1章 随便聊聊 r n t t t聊聊Flask与Django,聊 ...
- python微型web框架flask介绍
Flask是一个基于python的,微型web框架.之所以被称为微型是因为其核心非常简单,同时具有很强的扩展能力.它几乎不给使用者做任何技术决定. 安装flask时应该注意其必须的几个支持包比如Jin ...
- Flask的上下文管理机制
前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点. 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__.__getattr__系列.__get ...
最新文章
- docker-3-常用命令(上)
- python【蓝桥杯vip练习题库】ADV-272 change(思维)
- Visual Studio2017 安装教程(走过的坑绝不再走)
- hdfs yarn hbase pid文件被删除解决办法:修改hadoop-daemon.sh yarn-daemon.sh hbase-daemon.sh中PID_DIR存储路径
- 2021牛客多校7 - xay loves monotonicity(线段树区间合并)
- 常用哈希函数的比较及其实现
- git ssh创建分支_将git项目导入GitHub的方法(附创建分支)
- ubuntu16.04下FSA-Net环境安装和训练
- 即使到了 2020 年,编程语言之争仍未休!
- 今日头条ocpm计费规则_今日头条广告投放推广新产品选OCPM还是CPA好?是新的计费方式吗?...
- mongo按季度统计_2020年第一季度电网工程设备材料信息价(完整版)
- eclipse birt报表开发入门
- 中源幼儿园收费管理系统 v5.2.8 是什么
- 基于JSP+Servlet+Tomcat8.5+WebSocket实现的网页聊天室
- Java 使用itextpdf添加图片印章到PDF
- 寒武纪MLU270安装运行Pytorch yolov3实录
- MySQL8.0安装与基于二进制日志文件位置的主从复制
- 2021-01-09:Microsoft Word2019 提示:很抱歉此功能看似已中断,并需要修复。请使用Windows控制面板中的“程序和功能”选项修复Microsoft Office
- 嵌入式系统 操作系统 uC/OS uClinux
- oracle索引创建及删除
热门文章
- 脚本征集大赛开启啦!100%有奖!
- 实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化
- 又一年5.20,用Python助力程序员脱单大攻略(视频版)
- 生成假人脸、假新闻...AI虚拟世界正形成
- SpringMVC:注解@ControllerAdvice的工作原理
- 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案 1
- 技术经理:求求你,别再乱改数据库连接池的大小了!
- 知乎热问:成为算法工程师的路上,掌握什么技术会感觉自我提升突飞猛进?
- 数据分析(EDA)学习总结!
- 从理论到实践,Top选手带你进入数据竞赛的大门