Python AttributeError没有捕获

时间:2014-07-01 09:18:12

标签: python exception exception-handling getattr

我有一些代码,我试图捕获异常并扼杀它,但无论我做什么,代码都不会在except块中打印语句。

def check_configuration(cls, **kwargs):
    print 'product_config'
    errors = {}
    for arg in kwargs:
        if arg in cls.get_fields():
            print 'found', arg
            try:
                getattr(cls, 'clean_'+arg)
            except:
                print 'missing validation method: clean_'+attr+'()'

'缺少验证方法:clean_la()'永远不会打印!

我试过了

except Exception:

except AttributeError:

它们也不起作用,我很困惑是否有一些我缺少的例外情况?

1 个答案:

答案 0 :(得分:0)

这是通过Shadow解决的,问题出在except方法中。

attr永远不会定义。

print 'missing validation method: clean_'+attr+'()'