【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进行关闭

猜你喜欢

转载自www.cnblogs.com/jiyongjia/p/9813960.html