开始前先说一下python的异常处理问题
python程序中如果碰到错误,整个程序都会中止崩溃,你想即使在这个异常状况下程序也能继续运行,但会提示错误信息,就需要定义异常处理函数,系统不会干的,需要自己去定义
如整数除0这个异常错误规避:
def spam (divideBy):
try:
return 46 / divideBy
except:ZeroDivisionError:
print('Error : zero can't be devided ')
print(spam(2))
print(spam(0))
print(spam(56))
当程序运作时就会报第二个print的错,但程序不会中止崩溃
注意 try:
后面是正常情况执行命令
except 异常情况:
异常情况处理方法
好了正题;
输入验证,检测用户是否输入一个非整数的字符串,正常情况下,int()传入一个非整数字符串时就会产生ValueError错误,比如int('puppy').在except子句中,向用户输入一条信息,告诉他们必须输入一个整数
代码如下:
def intjiancha(num):
try:
return int(num)
except ValueError:
print('you need input int 类')
print(intjiancha(2))
print(intjiancha('asasda'))