【发布时间】:2018-07-15 23:49:43
【问题描述】:
我在 python 中构建了一个计算器,它可以工作,但如果有人试图将一个数字除以零,他们不会收到“无效语法!”计算器输入错误。我怎么能做到这样的消息“无效的语法!”在计算器输入中显示?
def equals(self):
self.getandreplace()
try:
self.value= eval(self.newtext)
except SyntaxError or NameError:
self.e.delete(0,END)
self.e.insert(0,'Invalid Syntax!')
else:
self.e.delete(0,END)
self.e.insert(0,self.value)
我尝试输入except NameError or SyntaxError or ZeroDivisionError,但它不起作用。该错误仅出现在 shell 中,而不是“无效语法!”。
【问题讨论】:
-
SyntaxError or NameError必须是(SyntaxError, NameError)。 -
@DYZ 没有它也可以工作
-
不,它没有。尝试输入“a+1”。
-
@DYZ 哦,我刚试过。
-
请提供minimal reproducible example,您不能每次遇到问题时都在这里转储代码。
标签: python python-3.x tkinter error-handling calculator