HTTP 異常主動拋出
- abort 方法
- 拋出一個給定狀態代碼的 HTTPException 或者 指定響應,例如想要用一個頁面未找到異常來終止請求,你可以調用 abort(404)。
- 參數:
- code – HTTP的錯誤狀態碼
# abort(404) abort(500)
- code – HTTP的錯誤狀態碼
拋出狀態碼的話,只能拋出 HTTP 協議的錯誤狀態碼
捕獲錯誤
- 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'