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)