【7】异常处理
异常处理主要有两种形式的语法:
(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进行关闭