【Flask】在g对象中存放List,实现在捕获异常后继续执行for循环
生活随笔
收集整理的這篇文章主要介紹了
【Flask】在g对象中存放List,实现在捕获异常后继续执行for循环
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目的
在捕獲異常后,本層先不處理,但希望能夠繼續執行for循環,所以也不能繼續拋出新的異常
于是使用flask提供的'g'對象,存儲所有的異常內容(可以經過自定義數據格式封裝,本例使用List存放發生異常的url列表)
最后到view層統一取出url列表,再進行前端頁面的提示。
代碼示例
有點單例的感覺,手動實現在g對象中存放List,添加元素的時候先取出。也可以理解為,讓g對象指向一個List,然后不斷維護這個List。
Controller層
for url in urls:try:......except Exception: # 捕獲所有異常再拋出if hasattr(g,'except_arr'):old_ecxept_arr=g.except_arrnew_except_arr = old_ecxept_arrnew_except_arr.append(url)# g.except_arr=new_except_arrelse:new_except_arr = []new_except_arr.append(url)g.except_arr = new_except_arrView層
if hasattr(g, 'except_arr'):except_arr=g.except_arrcurrent_app.logger.info('except_arr='+str(except_arr))flash(except_arr) # 消息提示總結
以上是生活随笔為你收集整理的【Flask】在g对象中存放List,实现在捕获异常后继续执行for循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Gunicorn】gunicorn配置
- 下一篇: flask的g对象