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 相关文章推荐
Python3实现连接SQLite数据库的方法
Aug 23 Python
Python计算三维矢量幅度的方法
Jun 15 Python
详解Python文本操作相关模块
Jun 22 Python
Python正则表达式非贪婪、多行匹配功能示例
Aug 08 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
Python迭代器定义与简单用法分析
Apr 30 Python
Python 实现网页自动截图的示例讲解
May 17 Python
Python 修改列表中的元素方法
Jun 26 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
python 多线程爬取壁纸网站的示例
Feb 20 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_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
基于php判断客户端类型
2016/10/14 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
python读取hdfs上的parquet文件方式
2020/06/06 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
如何编写python的daemon程序
2021/01/07 Python
应聘医学检验人员自荐信
2013/09/27 职场文书
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
英语国培研修感言
2014/02/13 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
php中pcntl_fork详解
2021/04/01 PHP
win10清理dns缓存
2022/04/19 数码科技