我是python异常的新手。我想在for循环中尝试catch / except,我该如何实现代码。谢谢。
a=5
b=[[1,3,3,4],[1,2,3,4]]
entry=[]
error=[]
for nums in b:
try:
for num in nums:
if a-num==3:
entry.append("yes")
except:
error.append('no')
我只有输入值,错误仍然是空的。我该如何修复我的代码。谢谢。
答案 0 :(得分:2)
try-except用于捕获异常。您尝试的代码没有理由抛出异常。你可以这样做......虽然这不是一个尝试 - 除外的好用例。你应该真的只是使用if-else。
if __name__ == '__main__':
a = 5
b = [[1, 3, 3, 4], [1, 2, 3, 4]]
entry = []
error = []
for nums in b:
for num in nums:
try:
if a - num == 3:
entry.append("yes")
else:
raise ValueError
except:
error.append("no")
print(entry, error)
答案 1 :(得分:0)
除了修复缩进之外,对于您正在做的事情,除了else
之外,您只需使用if
:
for nums in b:
for num in nums:
if a-num == 3:
entry.append("yes")
else:
error.append('no')
正如其他人所说,如果不包括您正在寻找的例外情况,编写except
绝不是一个好主意。 This post给出了一些很好的解释原因。