2017-07-20 98 views
0

我有一個超級困難的時間搞清楚如何除了一個錯誤,並返回一個Flash(消息)。燒瓶 - 接受錯誤和Flash消息

我在尋找一個MongoDB中,如果名稱不存在,我得到

「‘NoneType’對象未標化」

爲響應查詢。我想用flash("Name {} not found!.format(searchName))回覆,以便用戶知道他們的搜索沒有返回任何內容,他們可以再次嘗試。

我試着做

if searchName == None: 
    flash("Name {} not found!.format(searchName)) 
else: 
    do something else 

加上那種非常其它變化。但是,如果查詢不存在,每次都會得到相同的錯誤。有沒有更好的方法來處理所有甚至特定的錯誤並返回所需的響應?我正在尋找專門處理Python異常而不是HTTP錯誤。謝謝!

+0

什麼是拋出異常的實際代碼? –

+0

我明白了下面的答案。這個問題是與Pymongo查詢;當它沒有找到結果時,它拋出一個異常,使用嘗試,除了固定的。 – BrettJ

+0

我問的原因是PyMongo查詢在找不到匹配的記錄時沒有拋出異常。您所遇到的錯誤通常與Python代碼通過具有None值的對象訪問方法有關。例如:'variable = None',那麼你正試圖訪問'variable [1]'。 –

回答

1

聽起來像你的MongoDB搜索是拋出異常。嘗試在嘗試中包裝它...除了在異常處理程序中調用flash()。

+0

謝謝!這種簡單的解決方案給我帶來了很大的壓力。有時候我會反駁它。 – BrettJ