Python 异常 是在程序运行过程中发生的错误或问题的表示 ;
出现异常可能会中断程序的正常执行流程 , 并引发一个异常对象 ;
此时 , 需要 捕获和处理 异常对象 , 以防止程序崩溃或引发更严重的错误 ;
在之前的博客中介绍了文件操作 , 如果以只读的形式打开不存在的文件 , 就会导致异常的出现 ;
出现异常代码 :
"""
文件操作 代码示例
"""
import time
with open("file3.txt", "r", encoding="UTF-8") as file:
print("使用 write / flush 函数向文件中写出数据(以追加模式打开文件): ")
# 写出数据
file.write("Tom and Jerry")
# 刷新数据
file.flush()
# 关闭文件
file.close()
出现异常 :
/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py
Traceback (most recent call last):
File "/Users/zyq/PycharmProjects/Hello/main.py", line 6, in <module>
with open("file3.txt", "r", encoding="UTF-8") as file:
FileNotFoundError: [Errno 2] No such file or directory: 'file3.txt'
Process finished with exit code 1
程序出现异常有两种情况 :
程序出现异常导致无法运行 , 这种情况下 并不是要求程序没有异常完美运行 , 而是在力所能及的范围内 , 对可能出现的异常进行处理 ;
异常处理 就是 在可能出现异常的代码块中 , 对可能出现的异常做好提前准备 , 出现异常时将异常捕获 , 然后针对异常类型进行不同的处理 ;
异常捕获语法 :
try:
可能出现异常的代码块
except:
出现异常后执行的代码块
执行
"""
文件操作 代码示例
"""
open("file3.txt", "r", encoding="UTF-8")
代码 , 会报如下异常信息 :
Traceback (most recent call last):
File "/Users/zyq/PycharmProjects/Hello/main.py", line 6, in <module>
open("file3.txt", "r", encoding="UTF-8")
FileNotFoundError: [Errno 2] No such file or directory: 'file3.txt'
代码示例 :
"""
文件操作 代码示例
"""
try:
open("file3.txt", "r", encoding="UTF-8")
except:
print("出现异常, 进行异常处理")
open("file3.txt", "w", encoding="UTF-8")
执行结果 :
/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py
出现异常, 进行异常处理
Process finished with exit code 0