一、异常语法
try:
可能发生异常的代码
except:
如果出现异常执行的代码
else:
没有异常执行的代码
finally:
无论是否异常都要执行的代码
二、异常的传递(嵌套)
异常的传递是从外向内的,先执行外部的try…except,再执行外部的try…expect。
import time
try:
f = open('text.txt','r')
try:
while True:
con = f.readline()
if len(con) == 0:
break
time.sleep(2)
print(con)
except:
print('意外终止')
except:
print('文件不存在')
三、自定义异常
在Python中,抛出自定义异常的语法为raise 异常类对象
。
需求:密码长度小于5,则报异常。
class ShortError(Exception):
def __init__(self,leng,min_len):
self.leng = leng
self.min_len = min_len
def __str__(self):
return f'你输入的密码长度为{self.leng},小于最小输入长度{self.min_len}。'
def main():
try:
password = input('请输入密码:')
if len(password) < 5:
raise ShortError(len(password),5)
except Exception as result:
print(result)
else:
print('密码已输入,创建成功')
main()
运行结果: