【发布时间】:2020-05-18 22:52:21
【问题描述】:
当我在 for 循环的输入前面写“int”时,我为非整数输入写的 try/except 块回溯错误“在处理上述异常期间,发生了另一个异常”显示。但是,在该范围内的所有其他输入上,try/except 块被识别并打印出我写的错误消息。
代码
QLEN = 11
MAX_NUM = 12
for i in range(1,QLEN):
int2 = (random.randint(1,MAX_NUM))
int1 = (random.randint(1,MAX_NUM))
print()
print("Question {}".format(i))
try:
ans = int(input("{} + {}: ".format(int1,int2)))
add(int1,int2,ans)
except ValueError:
add(int1,int2,ans)
“添加”功能
def add(a,b,c):
if a + b != c:
print("Incorrect")
print("Correct Answer Was {}".format(a + b))
return (a + b)
print()
else:
print("Correct")
错误
Traceback (most recent call last):
File "main.py", line 125, in <module>
ans = int(input("{} + {}: ".format(int1,int2)))
ValueError: invalid literal for int() with base 10: 'e'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 128, in <module>
add(int1,int2,ans)
NameError: name 'ans' is not defined
【问题讨论】:
-
那是因为在您的
except块中您做了一些事情来触发异常。还请包括您得到的异常的完整追溯 -
谢谢,我现在将其包括在内。这是我的第一篇文章。
标签: python