我正在尝试通过使用将处理不在我希望它们输入的不适当值范围的用户输入的类来创建自定义的异常(例如,必须是百分比标记但是,在0到100(之间,我不知道我在做什么错。这是我的代码。谢谢
mark = 0
class illegal(Exception):
pass
while True:
try:
Mark = int(input("Enter a mark out of 100 to see if its valid or not: "))
if Mark < 0 or 100 < Mark:
raise illegal
break
except illegal:
print("Invalid mark")
print("Valid mark")
一些修复程序,但请参阅我的内联注释:
class IllegalMark(Exception): # use CamelCase and name meaningfully
pass
while True:
try:
mark = int(input("Enter a mark between 0-100 to test validity: "))
if mark not in range(0, 101):
raise IllegalMark
# break # don't need this since you call 'raise'
except IllegalMark:
print("Invalid mark")
break # if you want to end on invalid, otherwise leave out