一、定义
- Python使用异常的特殊对象来管理程序执行时发生的错误。当python发生不清楚的错误时,他都会创建一个异常对象。
- 异常使用try-except代码块处理,不会出现令人迷惑的traceback。
二、使用try-except代码块
- 代码示例:文件存在
#捕获异常
try:
file = open('test.txt', 'r') #只读模式
print("sss") #存在文件,输出字符串sss
file.close()
except IOError: #文件没找到,属于输入输出(IO)异常
pass #捕获异常后执行的代码。不存在,则输出为空
C:\Users\Lenveno\Envs\untitled1\Scripts\python.exe C:/Users/Lenveno/PycharmProjects/untitled1/write.py
sss
Process finished with exit code 0
- 代码示例:文件不存在
#捕获异常
try:
file = open('terrt.txt', 'r') #只读模式
print("sss") #存在文件,输出字符串sss
file.close()
except IOError: #文件没找到,属于输入输出(IO)异常
pass #捕获异常后执行的代码。不存在,则输出为空
C:\Users\Lenveno\Envs\untitled1\Scripts\python.exe C:/Users/Lenveno/PycharmProjects/untitled1/write.py
Process finished with exit code 0
三、捕获所有异常(Exception)
代码示例:
#捕获异常
try:
file = open('test.txt', 'r') #只读模式
print("sss") #存在文件,输出字符串sss
file.close()
print(char) #输出一个没有被定义的字节
except Exception as result: #Exception可以捕获所有异常,result用于获取异常的结果
print("错误异常") #报错
print(result)
C:\Users\Lenveno\Envs\untitled1\Scripts\python.exe C:/Users/Lenveno/PycharmProjects/untitled1/write.py
sss
错误异常
name 'char' is not defined
Process finished with exit code 0