Flask 錯(cuò)誤時(shí)的上下文保護(hù)

2022-03-10 16:55 更新

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

從 Flask 0.7 開始,我們設(shè)定 ?PRESERVE_CONTEXT_ON_EXCEPTION? 配置變量來 更好地控制該行為。這個(gè)值默認(rèn)與 ?DEBUG? 的設(shè)置相關(guān)。當(dāng)應(yīng)用工作在調(diào)試模式 下時(shí),上下文會(huì)被保護(hù),而生產(chǎn)模式下相反。

不要在生產(chǎn)模式強(qiáng)制激活 ?PRESERVE_CONTEXT_ON_EXCEPTION? ,因?yàn)樗鼤?huì)導(dǎo)致在 異常時(shí)應(yīng)用的內(nèi)存泄露。不過,它在開發(fā)時(shí)獲取開發(fā)模式下相同的錯(cuò)誤行為來試圖 調(diào)試一個(gè)只有生產(chǎn)設(shè)置下才發(fā)生的錯(cuò)誤時(shí)很有用。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號