无论代码是否失败,我都必须运行它。我在用着ExplicitException。以下是我的代码:
try:
G.add_edge(data1[0][0],data1[1][0],weight=data1[2+i][0])
except ExplicitException:
pass
try:
G.add_edge(data1[0][0],data1[5][0],weight=data1[6+i][0])
except ExplicitException:
pass
try:
G.add_edge(data1[0][0],data1[9][0],weight=data1[10+i][0])
except ExplicitException:
pass
try:
G.add_edge(data1[0][0],data1[13][0],weight=data1[14+i][0])
except ExplicitException:
pass
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
NameError:名称“ExplicitException”未定义
希望得到一些帮助
我想你从这个答案中得到了这个想法。答案试图传达的想法是您可以使用您选择的例外。事实上,不存在这样的例外ExplicitException。您可以使用内置的任何异常或定义您自己的异常类。
您还可以排除基类Exception并排除所有异常。
try:
# code
except Exception:
pass
Run Code Online (Sandbox Code Playgroud)
编辑:虽然您可以添加多个 try- except 块,但这不是一个好的做法。就您而言,我相信您的异常是因为某些无效值i会引发越界异常。因此,您可以通过检查 if-else 条件中的正确值来避免这种情况i。
如果您确实喜欢使用 try- except,请尝试概括这些行并将它们合并到一个循环中。这将使错误处理更容易。例如上面的例子:
for j in range(1,14,4):
try:
G.add_edge(data1[0][0],data1[j][0],weight=data1[1+j+i][0])
except:
pass
Run Code Online (Sandbox Code Playgroud)