Python 发生异常时继续for循环
我希望循环能够继续运行,即使在第一次迭代时生成异常。如何做到这一点Python 发生异常时继续for循环,python,for-loop,Python,For Loop,我希望循环能够继续运行,即使在第一次迭代时生成异常。如何做到这一点 mydict = {} wl = ["test", "test1", "test2"] try: for i in wl: a = mydict['sdf'] print(i) except: # I want the loop to continue and print all elements of
mydict = {}
wl = ["test", "test1", "test2"]
try:
for i in wl:
a = mydict['sdf']
print(i)
except:
# I want the loop to continue and print all elements of list, instead of exiting it after exception
# exception will occur because mydict doesn't have 'sdf' key
pass
您可以使用dict.get()
。如果该键不存在,它将返回None
。您还可以在dict.get(键,默认值)
我能给出的最好建议是将try移动到循环中,如下所示:
mydict = {}
wl = ["test", "test1", "test2"]
for i in wl:
try:
a = mydict['sdf']
print(i)
except:
continue
这是我解决您问题的方法
希望它能为您带来您想要的效果
mydict = {}
wl = ["test", "test1", "test2"]
for i in wl:
try:
a = mydict['sdf']
except:
pass
print(i)
移动
尝试
/,但循环体内部除外这是不正确的。打印
将被跳过。这两行代码是独立的,因此您可以将打印
移到第一行。此外,使用捕获所有异常的裸除外是不好的做法。只捕获您知道可能引发的异常。
mydict = {}
wl = ["test", "test1", "test2"]
for i in wl:
try:
a = mydict['sdf']
except:
pass
print(i)