在学习python中,写出下面的代码,结果一直出错,再看书时,才发现原来EXCEPT 后面需要使用带有python内部的异常名称。
因此,把下面代码中的except一行,把stringerror改为ValueError才能正常运行(由于python是区分大小写的,因此,ValueError不能写成valueerror)。
class stringerror(Exception) : pass
class inputInt() :
def shuru():
while True :
try :
g = input('请输入一个整数:').strip()
g1 = int(g)
break
except stringerror as cerr : #下句导致不停出错。把stringerror改为 ValueError,即可正常运行。
print('您输入的不是整数,请重新输入。')
continue
return g1
class suan() :
def panduan():
num = inputInt.shuru()
print(num)
if num % 2 == 1 :
return '有趣'
elif num % 2 == 0 and num >=2 and num <5 :
return '没意思'
elif num % 2 == 0 and num>=6 and num < 20 :
return '有趣'
else :
return '没意思'
print(suan.panduan())
为方便查找,将原作者整理的python中的异常单独贴出来,可以下载打印。
原文:python中异常捕获的完整语法和常见的异常类型