Flask-如何拋出錯誤以及自定義錯誤處理方法?

1、拋出錯誤

  • 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')

2、錯誤處理

  • 使用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'
相關文章
相關標籤/搜索