在 Python 中,如何except
在语句中两次使用具有相同异常名称的块,try/except
而无需将代码包装到另一个try/except
块中?
简单的例子(这里每次调用都pages.get
可能引发异常):
try:
page = pages.get(lang=lang)
except Page.DoesNotExist:
if not lang == default_lang:
page = pages.get(lang=default_lang)
else:
raise Page.DoesNotExist
except Page.DoesNotExist:
page = pages[0]
现在,在我的 Django 应用程序中,我会这样处理(但我不想try
在这里“额外”块):
try:
try:
page = pages.get(lang=lang)
except Page.DoesNotExist:
if not lang == default_lang:
page = pages.get(lang=default_lang)
else:
raise Page.DoesNotExist
except Page.DoesNotExist:
page = pages[0]
感谢任何比上面更好的处理代码!:)
谢谢。