一、一些简单的异常
(1)函数或者变量名未被定义 (NameError)
(2) 除数不能为0(ZeroDivisionError)
(3)没有找到文件位置
二、处理异常的方法
(1)用try...except..else...finally来捕获并且解决问题
try: a = float (input('请输入a =')) b = 10/a except: if a == 0: print('ZeroDivisionError:除数不能为0!') else: print('b = ' , b) finally: c = a + b print('c = ' , c)
try: a = float (input('请输入a =')) b = 10/a except: if a == 0: print('ZeroDivisionError:除数不能为0!') else: print('b = ' , b) finally: c = a + b print('c = ' , c)
(2)定义一个函数,验证密码字符串长度是不是6到12,不符合要求时抛出异常(用raise自定义抛出异常)
def check_str(content):
if (len(content)<6 or len(content)>12):
raise IndexError('长度应在6到12位之间,当前长度为:' + str(len(content)))
else:
print('长度符合要求!')
调用函数,不捕获异常(发生异常时,打印异常堆栈信息)
ss = input('请输入一个长度在6到12位之间的密码字符串')
check_str(ss)