[英]Python - try except with multiple possibilities
我正在嘗試以下操作:
try:
scroll_token = response["scroll_token"]
except ValueError as e:
logging.info(f'could not find "scroll_token" {e}')
try:
scroll_token = response["scroll_id"]
except ValueError as e:
logging.info(f'could not find "scroll_id" {e}')
如果響應中沒有“scroll_token”,那么我希望它查看響應中是否有“scroll_id”。 但由於某種原因,這不起作用,它只是在第一次嘗試案例中一直失敗並說:
scroll_token = response["scroll_token"] KeyError: 'scroll_token'
您正在捕獲錯誤的異常; 您期望可能會引發KeyError
。
try:
scroll_token = response["scroll_token"]
except KeyError as e:
logging.info(f'could not find "scroll_token" {e}')
try:
scroll_token = response["scroll_id"]
except KeyError as e:
logging.info(f'could not find "scroll_id" {e}')
您可以使用循環更簡單地編寫它。
for k in ["scroll_token", "scroll_id"]:
try:
scroll_token = response[k]
break
except KeyError:
logging.info("could not find %s", k)
else:
# What to do if neither key is found?
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.