zoukankan      html  css  js  c++  java
  • 捕获错误

    • errorhandler 装饰器

      • 注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法

    • 参数:

      • code_or_exception – HTTP的错误状态码或指定异常

    • 例如统一处理状态码为500的错误给用户友好的提示:

    @app.errorhandler(500)
    def internal_server_error(e):
        return '服务器搬家了'

    捕获指定异常类型

    @app.errorhandler(ZeroDivisionError)
    def zero_division_error(e):
        return '除数不能为0'
    from flask import Flask
    # 创建flask应用
    app = Flask(__name__)
    
    """加载配置"""
    class Config():
        DEBUG = True
    app.config.from_object(Config)
    
    """
    flask中内置了app.errorhander提供给我们捕获异常,实现一些在业务发生错误时的自定义处理。
    1. 通过http状态码捕获异常信息
    2. 通过异常类进行异常捕获
    """
    
    """1. 捕获http异常[在装饰器中写上要捕获的异常状态码也可以是异常类]"""
    @app.errorhandler(404)
    def error_404(e):
        return "<h1>您访问的页面失联了!</h1>"
        # return redirect("/")
    
    """2. 捕获系统异常或者自定义异常"""
    class APIError(Exception):
        pass
    
    @app.route("/")
    def index():
        raise APIError("api接口调用参数有误!")
        return "个人中心,视图执行了!!"
    
    @app.errorhandler(APIError)
    def error_apierror(e):
        return "错误: %s" % e
    
    if __name__ == '__main__':
        app.run(host="localhost",port=8080)
  • 相关阅读:
    navicat连接mysql报错1251解决方案
    ubuntu 安装nodejs/npm
    sync-settings(vscode)
    ubuntu远程桌面连接windows系统
    three.js中点生成矩阵方法
    threeJs中旋转位移等操作坐标系
    ubuntu查看进程端口号及运行的程序
    Ubuntu终端远程连接linux服务器
    THREE.OrbitControls参数控制
    canvas设置长宽
  • 原文地址:https://www.cnblogs.com/zhangjiahao996/p/14008343.html
Copyright © 2011-2022 走看看