Flask 錯誤時的上下文保護

2022-03-10 16:55 更新

無論錯誤出現(xiàn)與否,在請求的最后,請求上下文會出棧,并且相關的所有數(shù)據(jù)會被 銷毀。在開發(fā)中,當你想在異常發(fā)生時,長期地獲取周圍的信息,這會成為麻煩。 在 Flask 0.6 和更早版本中的調試模式,如果發(fā)生異常,請求上下文不會被彈出棧, 這樣交互式調試器才能提供給你重要信息。

從 Flask 0.7 開始,我們設定 ?PRESERVE_CONTEXT_ON_EXCEPTION? 配置變量來 更好地控制該行為。這個值默認與 ?DEBUG? 的設置相關。當應用工作在調試模式 下時,上下文會被保護,而生產(chǎn)模式下相反。

不要在生產(chǎn)模式強制激活 ?PRESERVE_CONTEXT_ON_EXCEPTION? ,因為它會導致在 異常時應用的內(nèi)存泄露。不過,它在開發(fā)時獲取開發(fā)模式下相同的錯誤行為來試圖 調試一個只有生產(chǎn)設置下才發(fā)生的錯誤時很有用。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號