Flask-如何抛出错误以及自定义错误处理方法?

一、抛出错误

  • abort()函数
  • 只能抛出HTTP协议规定的状态码
  • 示例:
    from flask import request,render_template,abort
    
    @app.route('/login',methods = ['GET','POST'])
    def login():
        if request.method = 'POST':
            if '_xsrf' not in request.form:
                abort(403)
        return render_template('login.html')

二、错误处理

  • 使用errorhandler装饰器,当程序抛出指定错误状态码或异常的时候,就会调用该装饰器所装饰的方法
  • 接收的参数为HTTP的错误状态码或指定异常
  • 示例:
    from flask import render_template
    
    #错误状态码404的处理
    @app.errorhandler(404)
    def page_not_found(error):
        return render_template('page_not_found.html'), 404
    
    # 处理特定的异常项
    @app.errorhandler(ZeroDivisionError)
    def zero_division_error(e):
        return '除数不能为0'

     

posted @ 2020-12-31 17:57  eliwang  阅读(563)  评论(0编辑  收藏  举报