python try catch finally
时间: 2025-01-03 09:34:44 浏览: 8
### Python `try`, `except`, 和 `finally` 语句的最佳实践
异常处理是编程中的重要组成部分,用于管理程序运行期间可能出现的错误。在 Python 中,通过 `try`, `except`, 和 `finally` 结构来实现这一功能。
当一段代码可能引发异常时,可以将其放置于 `try` 块内。如果发生特定类型的异常,则会触发相应的 `except` 子句;而无论是否发生了异常,`finally` 部分总是会被执行[^1]。
下面是一个展示如何优雅地使用这些关键字的例子:
```python
def divide_numbers(num1, num2):
try:
result = num1 / num2
except ZeroDivisionError as e:
print(f"Warning: Cannot divide by zero. {e}")
return None
except TypeError as e:
print(f"Invalid input types provided. {e}")
return None
else:
print("The division was successful.")
return result
finally:
print("This will always execute.")
# 测试函数
print(divide_numbers(10, 2)) # 正常情况下的输出
print(divide_numbers(10, 0)) # 处理除零的情况
print(divide_numbers('a', 'b')) # 处理类型不匹配的情况
```
在这个例子中,`divide_numbers()` 函数尝试执行两个数相除的操作。如果有任何问题——比如试图除以零或是传入了非数值参数——则对应的 `except` 分支将会捕获并妥善处理该异常。即使出现了上述任一情形,`finally` 下面的内容依旧被执行,这通常用来释放资源或清理工作环境。
阅读全文