try catch捕捉到异常后面语句怎么执行
时间: 2023-07-24 14:14:24 浏览: 50
在使用 try-catch 块捕捉到异常后,程序会跳转到 catch 块中执行相应的代码,而不会执行 try 块中异常发生点之后的代码。如果没有捕捉到匹配的异常类型,程序会终止并抛出未处理异常。
以下是一个简单的示例代码,演示了 try-catch 块的执行流程:
```python
try:
# 可能抛出异常的代码
# ...
print("这里是 try 块中的代码")
# ...
raise ValueError("手动抛出一个 ValueError 异常")
print("抛出异常后的代码不会被执行")
except ValueError:
# 捕捉到 ValueError 异常后执行的代码
print("捕捉到了 ValueError 异常")
else:
# 如果没有抛出异常,则执行 else 块中的代码
print("没有抛出异常")
finally:
# 不管是否抛出异常,都会执行 finally 块中的代码
print("这里是 finally 块中的代码")
print("try-catch 块之后的代码")
```
输出结果为:
```
这里是 try 块中的代码
捕捉到了 ValueError 异常
这里是 finally 块中的代码
try-catch 块之后的代码
```
可以看到,当抛出了 ValueError 异常时,程序跳转到 `except ValueError` 的块中执行相应代码。而 `raise` 语句后面的代码不会被执行。最后,无论是否抛出异常,`finally` 块中的代码都会被执行,然后程序继续执行 try-catch 块之后的代码。