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赋值语句后逗号的作用分析
Jun 08 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
python决策树之CART分类回归树详解
Dec 20 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python日期时间Time模块实例详解
Apr 15 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
django框架使用方法详解
Jul 18 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
详解python 中in 的 用法
Dec 12 Python
通过代码实例了解Python异常本质
Sep 16 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中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
在vue中使用Base64转码的案例
2020/08/07 Javascript
python 图片验证码代码
2008/12/07 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
python单例模式实例解析
2018/08/28 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
python如何实现一个刷网页小程序
2018/11/27 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
python 如何上传包到pypi
2020/12/24 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
讲座主持词
2014/03/20 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书