2017-07-20 99 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