python,我怎样才能把和如果放在一个引发错误的函数上?

问题描述

大家好,我正在检查图中的循环

import networkx as nx
X2 = {"1": ["4"],"2": ["3"],"3": ["2","4"],"4": ["1","3"]}
L2 = []
for k,v in X2.items():
    for i in range(len(v)):
        L2.append((k,v[i]))
print(L2)
G = nx.DiGraph(L2)
G = G.to_undirected()

print(type(G))
print(nx.find_cycle(G))

在这种情况下,正确地没有循环,因此 nx 函数引发:

raise nx.exception.NetworkXNoCycle('No cycle found.')
networkx.exception.NetworkXNoCycle: No cycle found.

如果函数引发错误,我如何放置和 If 条件来打印某些内容

解决方法

使用“try”和“except”关键字,阅读python中的异常处理。

基本上你需要:

try:
   your_function_call(arguments)
except nx.exception.NetworkXNoCycle as e:
   print("Found the no cycle exception)
,

您在这里寻找的是错误处理。对于您想要的错误,它就像 if 一样。

您可以通过 try/except 块实现这一点。更多详情here

import networkx as nx
X2 = {"1": ["4"],"2": ["3"],"3": ["2","4"],"4": ["1","3"]}
L2 = []
for k,v in X2.items():
    for i in range(len(v)):
        L2.append((k,v[i]))
print(L2)
try:
    G = nx.DiGraph(L2)
    G = G.to_undirected()
    print(type(G))
    print(nx.find_cycle(G))
except:
    print("Error message")