나는 지불을 처리하려고하는데, 지불이 성공했는지 실패했는지 고객에게 알릴 필요가 있습니다. 실패 할 경우 고객에게 알리고 오류를 통보 받아 모든 오류를 이메일로 보내 주어야합니다. 나는이 함께 왔어요 :왜 내 예외가 올바르게 처리되지 않습니까?
@app.route('/charge/',methods=['POST'])
def charge():
try:
# charge payment using Stripe checkout
...
...
# done processing
flash('Thanks!')
return jsonify()
except:
flash("Error")
raise
AJAX를 통해 응답을 수신하면 내 플래시 메시지가 표시되도록, 스트라이프 체크 아웃 페이지를 다시로드합니다. 트랜잭션이 성공하면 페이지가 다시로드되고 "감사합니다!"라는 메시지가 나타납니다. 플래시 메시지가 표시되지만 성공하지 못하면 페이지가 다시로드되지만 "오류"플래시 메시지가 표시되지 않습니다.
왜?
편집 : 내가 변경하는 경우를 제외하고는 :
except:
flash("Error")
print "THIS IS PRINTING"
raise
예외가 발생하기 직전에 내 콘솔에 인쇄됩니다 "이것은 인쇄입니다." 플래시 메시지가 여전히 페이지 새로 고침에 표시되지 않습니다.
실패한 트랜잭션이 예외를 발생시키지 않았습니까? except 블록에 아무것도 넣지 마십시오. 전혀 실행되지 않습니까? – Aerovistae
예. 그렇습니다. 내 서버에서 예외가 발생합니다. – user3287829
@Aerovistae : 제 편집 – user3287829