flask中主动抛出异常及统一异常处理代码示例

yipeiwu_com5年前Python基础

本文主要介绍的是flask中主动抛出异常及统一异常处理的相关内容,具体如下。

在开发时,后台出现异常 ,但不想把异常显示给用户或者要统一处理异常时,可以使用abort主动抛出异常,再捕获异常返回美化后的页面。

主动抛出异常:

@user.route('/testError') 
def testError(): 
  print ('testError') 
  abort(404) 

使用装饰器errorhandler捕获异常:

@user.errorhandler(404) 
def error(e): 
  return render_template('exception/404.html') 

这样可以自定义异常页面。如果使用error_handler,那么只有本蓝本中的错误才会触发,想要全局异常处理,需要使用app_errorhandler。

将所有异常处理写在一个蓝本中。

#coding:utf-8 
#error 
from flask import Blueprint, render_template, redirect,session,request,abort 
exception = Blueprint('exception',__name__) 
@exception.app_errorhandler(404) 
def error(e): 
  return render_template('exception/404.html') 

在view.py中注册蓝本

app.register_blueprint(exception, url_prefix='/error') 

这样,所有蓝本触发的异常都可以处理了。

总结

以上就是本文关于flask中主动抛出异常及统一异常处理代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python八大常见排序算法定义、实现及时间消耗效率分析

本文实例讲述了Python八大常见排序算法定义、实现及时间消耗效率分析。分享给大家供大家参考,具体如下: 昨晚上开始总结了一下常见的几种排序算法,由于之前我已经写了好几篇排序的算法的相关...

详解JavaScript编程中的window与window.screen对象

Window 对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 全局变量是 win...

用map函数来完成Python并行任务的简单示例

用map函数来完成Python并行任务的简单示例

众所周知,Python的并行处理能力很不理想。我认为如果不考虑线程和GIL的标准参数(它们大多是合法的),其原因不是因为技术不到位,而是我们的使用方法不恰当。大多数关于Python线程和...

Python3利用Dlib19.7实现摄像头人脸识别的方法

Python3利用Dlib19.7实现摄像头人脸识别的方法

0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的; 可以自动从摄像头中抠取人脸图片存储到本地...

Python psutil模块简单使用实例

安装很简单 复制代码 代码如下: pip install psutil 官网地址为: https://pythonhosted.org/psutil/ (文档上有详细的api) git...