异常处理主要有两种形式的语法:
(1)try---except---else
(2)try--except--finally
类型一:
# 语法规范
# 当try语句执行出现错误,会自动匹配错误,如果匹配成功,会执行该条的语句。
# 如果没匹配到错误,就执行else
'''
try :
语句1
except 错误码1 as e:
语句2
...
except 错误码n as e:
语句n
else:
语句
'''
# 语法规范
# 当try语句执行出现错误,会自动匹配错误,如果匹配成功,会执行该条的语句。
# 如果没匹配到错误,就执行else
'''
try :
语句1
except 错误码1 as e:
语句2
...
except 错误码n as e:
语句n
else:
语句
'''
# 案例1
try:
print(3/0)
except ZeroDivisionError as e:
print("除数为0错误!")
else:
print("代码没有错误!")
# 案例2:使用except带着多种异常,写到一个小括号
try:
print(3/0)
except (NameError,ZeroDivisionError) as e:
print("除数为0错误!或名字错误!")
else:
print("代码没有错误!")
# 案例3 多个异常的顺序问题
try:
print(3 / 0)
except BaseException as e:
print("异常1")
except ZeroDivisionError as e:
print("异常2!")
else:
print("代码没有错误!")
'''
输出是:异常1
'''
# 说明:如果父类的异常处理在前边的话,会首先匹配到父类的异常信息
类型二:
# 【2】第二种处理机制
'''
try --except--finally
'''
# finally是不管发生异常与否都会执行的!
# 比如:打开文件,就得一定要用finaly进行关闭