python_30期【异常处理except】

1、先翻译报错
2、找到自己写的代码当中的,第几行出错了。

文件处理:文件不存在/路径不存在

捕获异常!!
在程序当中,抓到这个异常,可以加上我们自己额外的代码处理。然后再抛出异常。

我怎么知道哪一行要出错?
我怎么知道,我要捕获什么异常?

与第三方资源交互的时候,一定要处理异常。
资源释放的问题。--- http连接/数据库连接/excel操作
try:
    可能会出错的代码
except:(如果出错了,进入except)
    逮到异常。
    代码报错之后会执行的代码。
[else:
    try里面代码没报错的时候,会执行的代码。
finally:
    无论是否出现异常,一定会执行的代码。
]


如果你捕获到了异常,并且做了你想做的事情。然后再抛出这个异常给到:
raise
"""
# 如果文件打开成功,则接着写入数据。
# try:
#     fs = open(r"D:\Pychram-Workspace\py30\python练习.txt","r",encoding="utf-8")
#     # fs.write("成功写入")
# except:  # 捕获异常
#     print("代码出错了!!")  # 我做了我自己的事情。输出了一些内容。
#     raise  # 会把异常信息抛出。让python接收到
# else:
#     fs.write("成功写入")
# finally:
#     print("一定会执行的代码!!")
#     try:
#         fs.close()  # 清理收尾工作。无论成功还是失败都会执行的代码。
#     except:
#         pass  # 如果fs.close()失败了,不用处理。直接忽略异常。


fs = open(r"D:\Pychram-Workspace\py30\python练习.txt","r",encoding="utf-8")

# 1、使用外部资源,需要做清理工作。
# 2、你想捕获到异常,在异常情况下,做一些自己的处理。

# 模块引入: 相对于项目目录引入。 from 包 import 模块
# 路径处理:os模块。获取绝对路径。__file__   os.path.abspath(__file__)
#                获取所在的目录   os.path.dirname(绝对路径)
#                路径拼接   os.path.join(路径1,文件名)  --最终是个绝对路径。
# # 异常处理: try:
#                 可能会出现异常的代码
#            except:
#                   try里的代码有异常,则会执行此处的代码
#            [else:
#                     try里的代码没出现异常,则执行此处代码
#            finally:
#                    无论try里的代码有没有出异常,必定会执行的操作。
#                    一般来讲,清理工作。]

 

posted @ 2020-06-05 16:28  Memory荒年  阅读(221)  评论(0编辑  收藏  举报