Pythonで、コードをもう1つのブロックにラップする必要なしexcept
に、ステートメントで同じ例外名のブロックを2回使用するにはどうすればよいですか?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]
上記よりも優れた処理コードをいただければ幸いです。:)
ありがとう。