首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中使用多个异常?

在Python中使用多个异常?
EN

Stack Overflow用户
提问于 2022-08-08 11:14:10
回答 2查看 63关注 0票数 0

我试图弄清楚如何为一个IPAM编写多个异常,这意味着当一个前缀已满时,就应该使用下一个前缀。这适用于一个,但不适用于几个不同的方面:

代码语言:javascript
复制
dict_endpoints = {"vpn-1": 9,
                  "vpn-2": 67,
                  "vpn-3": 68,
                  "vpn-4": 69}

def api(var_endpoint):
    url = "https://myURL.org/"
    token = os.environ['NETBOXTOKEN']
    nb = pynetbox.api(url=url, token=token)
    prefix = nb.ipam.prefixes.get(var_endpoint)
    new_prefix = prefix.available_prefixes.create({"prefix_length": 48})
    print(new_prefix)

try:
    api(dict_endpoints["vpn-1"])
except:
    api(dict_endpoints["vpn-2"])
# multiple exceptions without exiting the script
#except:
#    api(dict_endpoints["vpn-3"])
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-08 11:19:27

您可以创建一个循环:

代码语言:javascript
复制
for endpoint in dict_endpoints.values():
    try:
        api(endpoint)
        break  # success!!
    except:
        pass  # ignore error and go to next iteration
else:  # all failed :-(
    print("all endpoints failed...")
票数 2
EN

Stack Overflow用户

发布于 2022-08-08 11:24:21

您可以使用else语句或处理以下多个例外:

代码语言:javascript
复制
try:
  --snip--
except (exception_1, exception_2):
  --snip--
else:
  --snip--

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73276980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档