2011-08-22 130 views
0
for *** : 
    try: 
     xx = A(
      a=x, 
      b=y 
     ) 
     xx.save() 
    except: 
    pass 

这里是我的问题:一旦“xx”之一保存错误,其他人不会保存成功。 有人知道为什么吗?谢谢!django保存错误

这里是错误消息

Exception 
[2011-08-22 14:02:23,879: WARNING/PoolWorker-1] RuntimeError 
[2011-08-22 14:02:23,879: WARNING/PoolWorker-1] : 
[2011-08-22 14:02:23,879: WARNING/PoolWorker-1] 'generator ignored GeneratorExit' 
[2011-08-22 14:02:23,879: WARNING/PoolWorker-1] in 
[2011-08-22 14:02:23,880: WARNING/PoolWorker-1] <generator object msg_iter_page at 0x2ec28c0> 
[2011-08-22 14:02:23,880: WARNING/PoolWorker-1] ignored 
+0

...缩进? –

+1

请通过删除'try:except:'block向我们显示错误消息, – YOU

+0

异常 [2011-08-22 14:02:23,879:WARNING/PoolWorker-1] RuntimeError [2011-08-22 14:02:23,879 :WARNING/PoolWorker-1]: [2011-08-22 14:02:23,879:WARNING/PoolWorker-1]'generator ignored GeneratorExit' [2011-08-22 14:02:23,879:WARNING/PoolWorker-1 ] [2011-08-22 14:02:23,880:WARNING/PoolWorker-1] <生成器对象msg_iter_page在0x2ec28c0> [2011-08-22 14:02:23,880:WARNING/PoolWorker-1]忽略 – Danfi

回答

0

您抓住每一个例外,有这样的说法:

except: 
    pass 

GeneratorExit只是一个例外。这不应该被捕获。请仅捕捉您期望的例外情况。

+0

谢谢,我是一个初学者,如何缓存我想要的异常。 – Danfi

+0

你应该** **他们,而不是**缓存**。就像这样: '除了IOError,exc:' – guettli

0

你不应该赶上GeneratorExit。如果你想赶上从Exception继承了所有的异常而不是从BaseException你应该改变你的代码:

for *** : 
    try: 
     xx = A(
      a=x, 
      b=y 
     ) 
     xx.save() 
    except Exception: 
    pass