请阐述一下try、except、else、finally保留字在异常处理中的作用
时间: 2023-10-01 11:07:49 浏览: 99
在 Python 异常处理中,try、except、else、finally 是四个保留字,各自承担不同的作用。
- try:try 块中包含可能会产生异常的代码,如果在 try 块中发生了异常,就会跳转到 except 块中。
- except:except 块用于捕捉 try 块中的异常,从而避免程序崩溃。如果 try 块中的代码发生异常,就会跳转到 except 块中执行相应的异常处理逻辑。
- else:else 块在 try 块中没有发生异常时被执行。当 try 块中没有异常时,else 块会被执行,否则将不会执行。
- finally:finally 块中的代码无论如何都会被执行,无论是否有异常发生。通常在这里放置一些清理工作,比如关闭文件或数据库连接等。
下面是一个简单的示例,演示了这些保留字的用法:
```python
try:
# 可能产生异常的代码
f = open('test.txt', 'r')
content = f.read()
f.close()
except FileNotFoundError:
# 处理指定类型的异常
print('文件不存在!')
except:
# 处理其他类型的异常
print('发生了未知错误!')
else:
# 如果没有异常发生,就会执行这里的代码
print(content)
finally:
# 无论如何都会执行的代码,比如关闭文件或数据库连接等
print('程序结束')
```
在上面的代码中,我们首先尝试打开一个文件,如果文件不存在就会抛出 FileNotFoundError 异常,否则读取文件内容并打印出来。如果在 try 块中发生了其他类型的异常,就会跳转到 except 块中进行处理。如果没有异常发生,就会执行 else 块中的代码。不管有没有异常发生,finally 块中的代码都会被执行,这里我们打印出程序结束的提示信息。
阅读全文