2011-08-22 76 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