"""
try:
可能发生的错误
catch:
如果发生异常执行的代码
"""# 捕获多个异常try:print(1/0)except(NameError, ZeroDivisionError)as result:print('有错误')# 捕获异常描述信息print(result)except Exception:print(Exception)# 捕获所有异常try:print(1/0)except Exception as result:print(result)# else 没有异常要执行的代码else:print('无异常')# finally表示无论是否异常都要执行的代码try:
f =open('text.txt','r')except Exception as result:
f =open('text.txt','w')else:print('程序正常..')finally:
f.close()
嵌套异常
# 1# 2# 3# 6# division by zero# 7try:
a =3print(1)
b =0print(2)try:print(3)
c = a/b
print(4)except NameError as result:print(5)print(result)except Exception as r:print(6)print(r)finally:print(7)
自定义异常
classShortInputError(Exception):def__init__(self,len, min_len):
self.len=len
self.min_len = min_len
def__str__(self):return f'用户输入的密码长度为{self.len},密码不能少于{self.min_len}'defmain():try:whileTrue:
con =input("请输入密码:")iflen(con)<3:# 抛出异常类创建的对象raise ShortInputError(con,3)else:print("密码输入完成")break# 捕获该异常except Exception as result:print(result)
main()