Flask框架從入門到精通之異常處理(十)

知識點: 一、abort()函數 二、自定義狀態碼前端

1、概況

咱們在寫視圖函數時,會對前端傳遞過來的參數進行校驗,若是校驗不過,會給前端返回一些特定的異常信息。在Flask中,abort() 函數能夠當即終止視圖函數的執行,而且把相對應的錯誤信息返回給前端。python

2、使用

from flask import Flask, abort

app = Flask(__name__)


@app.route('/login/<phone>')
def index(phone):
    if phone != '123456':
        abort(502)  # 當即中止視圖函數執行,並把異常返回
    return phone


if __name__ == '__main__':
    # 0.0.0.0表明任何能表明這臺機器的地址均可以訪問
    app.run(host='0.0.0.0', port=5000, debug=True)  # 運行程序

複製代碼

咱們瀏覽器調試一下: flask

在這裏插入圖片描述
注意abort裏面的狀態碼必須就是HTTP狀態碼,不能本身隨便寫。常見狀態碼以下:

狀態代碼有三位數字組成,第一個數字定義了響應的類別,共分五種類別:瀏覽器

  • 1xx:指示信息--表示請求已接收,繼續處理
  • 2xx:成功--表示請求已被成功接收、理解、接受
  • 3xx:重定向--要完成請求必須進行更進一步的操做
  • 4xx:客戶端錯誤--請求有語法錯誤或請求沒法實現
  • 5xx:服務器端錯誤--服務器未能實現合法的請求 常見狀態碼:
200 OK                        //客戶端請求成功
400 Bad Request               //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized              //請求未經受權,這個狀態代碼必須和WWW-Authenticate報頭域一塊兒使用 
403 Forbidden                 //服務器收到請求,可是拒絕提供服務
404 Not Found                 //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error     //服務器發生不可預期的錯誤
503 Server Unavailable        //服務器當前不能處理客戶端的請求,一段時間後可能恢復正常
複製代碼

3、自定義狀態碼信息

有時候咱們感受默認的狀態碼信息對於用戶提示不友好,咱們能夠默認的狀態碼信息改爲咱們本身想要的。咱們在項目中加上以下函數:bash

# 自定義502狀態碼信息
@app.errorhandler(502)
def handle_502_error(error):  # error:錯誤信息
    return "服務器泡妞去了"
複製代碼

咱們瀏覽器調試一下: 服務器

在這裏插入圖片描述
歡迎關注個人公衆號:

image
相關文章
相關標籤/搜索