Python/Flask

[Flask] Error Handling 방법

yubi5050 2022. 5. 6. 20:54

1. Flask Error Handling 처리 방법

@app.errorhandler(status code) 사용자 정의 에러 핸들러 (데코레이터)가 존재함.

 

2. Example code

from flask import Flask, jsonify

app = Flask(__name__)

@app.errorhandler(401)
def page_not_found(error):
    return redirect("https://developer.mozilla.org/ko/docs/Web/HTTP/Status/401", code=401)

@app.errorhandler(500)
def error_handling_500(error):
    return jsonify({'Error': " 500 Error.."}, 500)

@app.route('/api')
def my_service():
    raise TypeError("Raise Error ...")

app.run()

3. Flask Redirection / Abort

redirect : Response를 보내 사용자를 원하는 위치로 이동

### Redirect
## 주로 3XX 번대 HTTP Status Code를 보내는 응답
# location : 보내고자 하는 위치
# status code : 300번대 응답 코드
# response : 응답(response)에 필요한 Parameter
# 일반적으로 url_for와 함께 자주 사용
redirect(location, statuscode, response)

### Abort 함수
## 주로 4XX 번대 HTTP Status Code를 보내는 응답
abort(code)

'Python > Flask' 카테고리의 다른 글

[Flask] Jinja 문법 비교 (Include vs extends)  (0) 2022.05.13
[Flask] 모달 창 만들기  (0) 2022.05.13
[Flask] 로그인 & 회원가입 & JWT Token  (1) 2022.05.13
[Flask] 파일 분리 (HTML, CSS, JS)  (0) 2022.05.09
[Flask] Jinja 정리  (0) 2022.05.07