Python学习(十一)

#异常的捕捉
#基本捕捉语法
try:
    f = open("F:\PycharmProjects\pythonProject\异常.txt","r",encoding="utf-8")
except:
    print("出现异常了,因为文件不存在,我将open的模式改为w模式去打开")
    f = open("F:\PycharmProjects\pythonProject\异常.txt","w",encoding="utf-8")

#捕获指定异常
# try:
#     print(name)  #未定义name
#     #1/0   #这个错误属于ZeroDivisionError,与我们捕获的类型不一样,就会直接执行
# except NameError as e:
#     print("出现未定义的异常")
#     print(e)  #e记录着异常的具体信息

#捕获多个异常
try:
    #print(name)
    1/0
except (NameError,ZeroDivisionError) as e:
    print("出现未定义的异常 或者 除以0的异常错误")

#捕获所有异常
try:
    1/0
except Exception as e:
    print("出现异常")

try:
    f = open("F:\PycharmProjects\pythonProject\异常.txt","r")
except Exception as e:  #在有异常时会执行
    f = open("F:\PycharmProjects\pythonProject\异常.txt", "r")
else: #没有异常时会执行
    print("没有出现异常")
finally:  #有或者没有异常时都会执行
    f.close()

#异常的传递
def func1():
    print("func1 开始执行")
    num = 1 / 0
    print("func1 结束执行")
def func2():
    print("func2 开始执行")
    func1()
    print("func2 结束执行")
def main():
    try:
        func2()
    except Exception as e:
        print(f"出现异常,异常信息为{e}")
main()

你可能感兴趣的:(python,学习,开发语言)