Request的中断和ErrorHandler实例解析


Posted in Python onFebruary 12, 2018

概述

在view函数中,如果需要中断request,可以使用abort(500)或者直接raise exception。当然我们还需要返回一个出错信息给前端,所以需要定制一下ErrorHandler。一般只需要两个个handler即可,一个是404错误,一个是500一类的服务器端错误。当然也可以自定义错误。

代码清单

下面是一份示例代码,main是一个蓝本或者app,发生404错误或500错误,会返回一个Json对象给请求段。

from flask import jsonify
from . import main

@main.errorhandler(404)
def error_404(error):
  """这个handler可以catch住所有abort(404)以及找不到对应router的处理请求"""
  response = dict(status=0, message="404 Not Found")
  return jsonify(response), 404

@main.errorhandler(Exception)
def error_500(error):
  """这个handler可以catch住所有的abort(500)和raise exeception."""
  response = dict(status=0, message="500 Error")
  return jsonify(response), 400

class MyError(Exception):
  """自定义错误类"""
  pass

@main.errorhandler(MyError)
def MyErrorHandle(error):
  response = dict(status=0, message="400 Error")
  return jsonify(response), 400

蓝本的错误处理

在蓝本中编写错误处理程序有点不同,如果使用errorhandler修饰器,那么只有蓝本中的错误才会触发。如果想注册全局的错误处理程序,要用app_errorhandler。

例如:

from . import auth


@auth.app_errorhandler(404)
def error_404(error):
  response = dict(status=0, message="404 Not Found")
  return jsonify(response), 404

总结

以上就是本文关于Request的中断和ErrorHandler实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python实现八大排序算法(1)
Sep 14 Python
浅谈python 线程池threadpool之实现
Nov 17 Python
Python中实现switch功能实例解析
Jan 11 Python
3分钟学会一个Python小技巧
Nov 23 Python
在numpy矩阵中令小于0的元素改为0的实例
Jan 26 Python
Django框架模板的使用方法示例
May 25 Python
python实现的发邮件功能示例
Sep 11 Python
python 使用shutil复制图片的例子
Dec 13 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
Python lxml库的简单介绍及基本使用讲解
Dec 22 Python
pandas提升计算效率的一些方法汇总
May 30 Python
Python实现Kmeans聚类算法
Jun 10 #Python
Python request设置HTTPS代理代码解析
Feb 12 #Python
python实现聚类算法原理
Feb 12 #Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 #Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 #Python
Flask解决跨域的问题示例代码
Feb 12 #Python
tensorflow实现对图片的读取的示例代码
Feb 12 #Python
You might like
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php 破解防盗链图片函数
2008/12/09 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
JavaScript实现职责链模式概述
2018/01/25 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
基于JS实现视频上传显示进度条
2020/05/12 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中使用中文的方法
2011/02/19 Python
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
校园安全广播稿
2014/02/08 职场文书
药品采购员岗位职责
2014/02/08 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书