Python零基础学习笔记(二十八)—— 异常处理


try:
    print(enume)
    print(3 / 0)
except ZeroDivisionError as e:
    print("除数为零!")
except NameError as e:
    print("名称错了!")

#使用except而不使用任何错误类型
try:
    print(" ",de)
except:
    print("Error!")

#使用except显示多种异常
try:
    pass
except(NameError,ZeroDivisionError):
    print("出现了NameError或ZeroDivisionError"

'''    
特殊
#1、错误其实是class(类),所有的错误都继承自BaseException,所以在捕获
#2、跨越多层调用
#需求:当程序遇到问题时不让程序结束,而越过错误继续向下执行
'''

'''
try……except……else
格式:
try:
    语句t
except 错误码 as e:
    语句1
except 错误码 as e:
    语句2
except 错误码 as e:
    语句3
     ...
except 错误码 as e:
    语句n
else:
    语句e

注意:else可有可无

作用:检测try语句块中的错误,从而让except语句捕获错误信息并处理

逻辑:当程序执行到try-except-else语句时
1、当try【语句t】执行出现错误,会匹配第一个错误码,如果匹配上就执行第一个语句
2、当try【语句t】执行出现错误,没有匹配到任何的错误码,错误将会被提交到上一层的
   try语句,或者到程序的最上层
3、当try【语句t】执行没有出现错误,执行else下的【语句e】(有else的情况下)
'''

def func1(num):
    print(1 / num)
def func2(num):
    func1(num)
def main():
    func2(0)
try:
    main()
except ZeroDivisionError as e:
    print("QQQQQ")

'''
try……except……else
格式:
try:
    语句t
except 错误码 as e:
    语句1
except 错误码 as e:
    语句2
except 错误码 as e:
    语句3
     ...
except 错误码 as e:
    语句n
finally:
    语句f

注意:else可有可无

作用:语句t无论是否有错误都将执行最后的语句f
'''

try:
    print(1/1)
finally:
    print("这是必须执行的语句!")

print("sda")

try:
    print(1/0)
finally:
    print("这是必须执行的语句!")

print("sda")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章