首页 > 其他分享 >flask统一异常捕获(作用:统一捕获指定的异常并返回)

flask统一异常捕获(作用:统一捕获指定的异常并返回)

时间:2023-10-04 12:23:56浏览次数:38  
标签:code flask 捕获 errorhandler 404 异常 app

flask中可以使用装饰器errorhandler来对指定的异常、状态码等统一捕获并处理。

对指定的状态码进行统一捕获

@app.errorhandler(404)
# 参数e是异常的详细信息的对象,必须要有一个参数接收异常对象。
def pagenotfound(e):
    # 比如可以重定向到统一的404静态页面中。
    # 不过如果是前后端分离开发,一般都是直接返回reseful的json数据,然后前端根据code来自行重定向到404页面。
    data = {"code": 404, "data": None}
    response = jsonify(data)
    response.status_code = data["code"]
    return response

对某种异常类统一捕获

@app.errorhandler(ZeroDivisionError)
def zeroerror(e):
    return "除数不能为0!"

# 不用装饰器的方法直接调用方式:这种方式学装饰器的时候也学过了,相当于将@装饰拆解开来而已。
app.errorhandler(ZeroDivisionError)(zeroerror)

如果是这样,还不如用官方推荐的

app.register_error_handler(code_or_exception, handler_func)

标签:code,flask,捕获,errorhandler,404,异常,app
From: https://www.cnblogs.com/juelian/p/17742124.html

相关文章

  • flask自带的异常抛出函数abort
    flask中有一个abort函数,可以用于快捷的抛出异常,但是只能抛出标准的HTTP状态码,不能乱设置HTPP状态码,比如666、777这种。[email protected]("/user")defuser():abort(404)......
  • flask应用程序配置
    flask中配置app的配置有几种方式,不同的场景适合用不同的方式。配置定义方式如下:(注意:这几种方式都时可以混用的)直接调用app.config来设置。app.config["SECRET_KEY"]="sjhiq1y198798su656s#$#$%"从类对象中加载配置文件(优先级高于app.config直接设置)app.config.from_ob......
  • flask蓝图(这玩意就是django的子应用)
    蓝图的概念类似django的子应用,作用就是分模块开发,有关联的都放在一起。蓝图的创建步骤:新建一个包(一个包就是一个模块、等同于一个子应用)在包的__init__.py中创建蓝图对象。蓝图对象所有的参数和功能与Flask()对象类似。见:user下的__init__.py和views.py在app中注册蓝......
  • flask上下文、g变量、current_app
    在flask中的上下文分为两种:请求上下文(requestcontext)也就是和请求相关的上下文,记录一些请求相关的数据。包含:1、request请求对象2、session会话应用上下文(appcontext)记录一些和flask的应用(app=Flask(name))的上下文数据,主要包含:**1、current_app**在项目其它......
  • 微服务17:微服务治理之异常驱逐
    ★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用微服务10:系统服务熔断、限流微服务11......
  • ABAP 异常处理(Exception Handling) - 什么是 Non-Class-Based 异常试读版
    本教程前一篇文章,笔者介绍了ABAP系统里查看程序运行时错误的一个有用工具:事务码ST22:112.SAPABAPDumpAnalysis(ST22)工具的使用和背景介绍在笔者实际工作过程中,发现部分开发人员,对于运行时错误(RuntimeError)和异常(Exception)这些概念的区别,理解得不是很清楚,因此使......
  • JAVA--异常
    什么是反射?可以从类里面将该类的成员方法成员变量,构造方法的信息给拿出来使用可以获取成员变量,构造方法,成员方法的所有信息.学习反射应该学习如何获取和解剖获取class对象的三种方式在源代码阶段使用Class.forName("全类名");(最常用)在加载阶段使用A.class(一......
  • Java---异常
    14.1概念在日常编码中或多或少都会现一些问题,这些问题有的是错误和有的是异常(不正常)。日常编码这种问题分为两类:1、错误Error2、异常Exception错误在jvm,硬件层面报出的问题异常是代码运行层面bug:1、编码语法错误(很好解决)2、运行时异常这种异常也好解决,根据提示去做修......
  • Protocol message had invalid UTF-8异常解决
    UTF-8是一种常用的字符编码方案,用于在计算机系统中表示和传输文本。它使用变长字节序列来表示不同的字符。当一个协议消息被解析时,如果消息中包含了无效的UTF-8字符,就会引发这个错误。要解决这个问题,可以采取以下步骤:检查数据源:首先,确认数据源是否提供了有效的UTF-8编码的消息......
  • 基于pandas的数据清洗 -- 异常值的清洗
    博客地址:https://www.cnblogs.com/zylyehuo/开发环境anaconda集成环境:集成好了数据分析和机器学习中所需要的全部环境安装目录不可以有中文和特殊符号jupyteranaconda提供的一个基于浏览器的可视化开发工具自定义一个1000行3列(A,B,C)取值范围为0-1的数据源,然后将C......