我有一个函数t()
。如果我在尝试获取a=t()
的值时遇到任何错误。我想打破循环,不显示任何错误。
主要是RuntimeWarning: divide by zero encountered
或RuntimeWarning: invalid value encountered in double_scalars
。
我尝试了以下但循环不会中断。
for i in range(100):
try:
a=t(i)
except:
print('breaking')
break
答案 0 :(得分:0)
如果需要,您可以针对警告提出错误。
import warnings
warnings.filterwarnings('error')
try:
for x in range(0,5):
do_something()
warnings.warn(Warning()) # Trigger a warning to test
except:
print "Broke"
答案 1 :(得分:0)
如果您不希望对例外做任何事情,可以使用pass
。
例如:
for i in reversed(range(100)):
try:
print 3/i
except:
pass
break
答案 2 :(得分:0)
您可以尝试使用except:RuntimeError,如果这是唯一发生的错误。
for i in range(100):
try:
a=t(i)
except RuntimeError:
print('breaking')
#then continue your code here for the exception