【问题标题】:django save errordjango保存错误
【发布时间】:2011-08-22 05:54:11
【问题描述】:
for *** :
   try:
       xx = A(
          a=x,
          b=y
       )
       xx.save()
   except:
     pass

这是我的问题:一旦“xx”之一保存错误,其他人将无法保存成功。 有谁知道为什么?谢谢!

这是错误信息

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

【问题讨论】:

  • 请通过删除try: except:块向我们显示错误消息,
  • 异常 [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] '生成器忽略 GeneratorExit' [2011-08-22 14:02:23,879: WARNING/PoolWorker-1] 在 [2011-08-22 14:02:23,880 : WARNING/PoolWorker-1] [2011-08-22 14:02:23,880: WARNING/PoolWorker-1] 被忽略

标签: python django save


【解决方案1】:

您可以使用以下语句捕获所有异常:

except:
   pass

GeneratorExit 只是一个例外。这不应该被抓住。请仅捕获您期望的异常。

【讨论】:

  • 谢谢,我是初学者,如何缓存我想要的异常。
  • 你应该捕捉它们,而不是缓存。就像这样:except IOError, exc:
【解决方案2】:

你不应该抓到GeneratorExit。如果您想捕获从Exception 而不是从BaseException 继承的所有异常,您应该将代码更改为:

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

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 1970-01-01
    • 2012-07-01
    • 2021-02-13
    • 1970-01-01
    • 2019-04-06
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多