【发布时间】:2015-12-11 03:17:37
【问题描述】:
这是我当前的代码:
def get_queryset(self)
pk = self.kwargs['pk']
try:
postD = PostD.objects.get(pk=pk)
# In the line below, PostReply.objects.filter(postD=postD) is
# not guaranteed to exist, so I am using a try statement.
return PostReply.objects.filter(postD=postD)
except:
postY = PostY.objects.get(pk=pk)
# In the line below, PostReply.objects.filter(postY=postY) is
# not guaranteed to exist either, so this may raise an error.
return PostReply.objects.filter(postY=postY)
# Here, I want one last except statement to execute if the above try
# and except statements fail... Is it okay to just add another except
# statement like this:
except:
postR = PostR.objects.get(pk=pk)
# If the above try and except statement fail, this is guaranteed to
# not throw an error.
return PostReply.objects.filter(postR=postR)
我知道我可以这样做:
try:
# code
except ObjectDoesNotExist:
# code
except:
# last part of code
但不能保证我会收到ObjectDoesNotExist 错误(我不能保证我会收到什么错误)。所以我想知道是否有一种方法可以拥有多个 except 语句而不指定要查找的异常?我上面的做法是这样吗(我只有 try: except: except: 可以使用吗?
【问题讨论】: