异常
异常写法:
语法:
try:
#可能发生错误的代码
except:
#如果出现异常执行的代码
捕获指定异常:
语法:
try:
#可能发生错误的代码
except 异常类型:
#如果捕获到该异常类型执行的代码
捕获多个指定异常:
语法:
try:
#可能发生错误的代码
except (异常类型1,异常类型2):#使用元组括起来
#如果捕获到该异常类型执行的代码
[#print(result)]
捕获异常描述信息:
语法:
try:
#可能发生错误的代码
except (异常类型1,异常类型2)as result:
print(result)
捕获所有异常:
语法:
try:
#可能发生错误的代码
except Exception as result:#Exception是所有程序异常类的父类
print(result)
异常的else:
语法:
try:
#可能发生错误的代码
except Exception as result:#Exception是所有程序异常类的父类
#捕获到异常执行的代码
else:
#没有异常的时候执行的代码
异常的finally:表示无论是否异常都要执行的代码。例如关闭文件
语法:
try:
#可能发生错误的代码
except Exception as result:#Exception是所有程序异常类的父类
#捕获到异常执行的代码
else:
#没有异常的时候执行的代码
finally:
#无论如何都要执行的代码
异常的传递:(嵌套异常捕获处理)
自定义异常:抛出自定义异常的语法为 raise 异常类对象
例子:
#自定义异常类,继承Exception
class shortinputerror(Exception):
def __init__(self,length,min_len):
self.length = length
self.min_len = min_len
#设置抛出异常的描述信息
def __str__(self):
return f'你输入的长度是{self.length},不能少于{self.min_len}个字符'
def main():
try:
con = input('请输入密码')
if len(con) < 3:
raise shortinputerror(len(con),3)
except Exception as result:
print(result)
else:
print('密码已经输入完成')
main()