python使用try函数详解
try 函数的基本语法
Python 中的 try 语句用于捕获和处理异常。
其基本语法结构如下:
try:
# 尝试执行的代码块
except ExceptionType:
# 发生异常时执行的代码块
else:
# 未发生异常时执行的代码块
finally:
# 无论是否发生异常都会执行的代码块
捕获特定异常
可以指定捕获特定类型的异常,例如 ValueError 或 IndexError,以便针对不同的异常采取不同的处理措施。
try:
num = int("abc")
except ValueError:
print("输入的不是有效数字")
捕获多个异常
在一个 try 块中可以捕获多种异常,并通过多个 except 子句分别处理。
try:
result = 10 / 0
num = int("abc")
except ZeroDivisionError:
print("除数不能为零")
except ValueError:
print("输入的不是有效数字")
使用 else 子句
else 子句中的代码会在 try 块未引发任何异常时执行。
try:
num = int("123")
except ValueError:
print("输入的不是有效数字")
else:
print(f"转换后的数字是: {num}")
使用 finally 子句
finally 子句中的代码无论是否发生异常都会执行,常用于资源清理操作,如关闭文件或数据库连接。
try:
file = open("example.txt", "r")
content = file.read()
except FileNotFoundError:
print("文件未找到")
finally:
file.close()
print("文件已关闭")
捕获所有异常
如果不确定具体会引发哪种异常,可以使用通用的 Exception 类捕获所有异常。
try:
result = 10 / 0
except Exception as e:
print(f"发生异常: {e}")
自定义异常处理
可以通过继承 Exception 类创建自定义异常,并在 try 块中主动抛出异常(raise)。
class CustomError(Exception):
pass
try:
raise CustomError("这是一个自定义异常")
except CustomError as e:
print(f"捕获到自定义异常: {e}")
嵌套 try 块
try 块可以嵌套使用,内层 try 块可以处理更具体的异常,外层 try 块处理更通用的异常。
try:
try:
num = int("abc")
except ValueError:
print("内层捕获到 ValueError")
result = 10 / 0
except ZeroDivisionError:
print("外层捕获到 ZeroDivisionError")
结合 with 语句
try 块常与 with 语句结合使用,确保资源在使用后自动释放(如文件操作)。
try:
with open("example.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("文件未找到")
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mac PyCharm添加Python解释器及添加package路径的方法
今天小编就为大家分享一篇mac PyCharm添加Python解释器及添加package路径的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
这篇文章主要介绍了matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-01-01
Anaconda+Pycharm+Pytorch虚拟环境创建(各种包安装保姆级教学)
相信很多时候大家都会用到虚拟环境,他具有可以让你快速切换不同的python版本,本文主要介绍了Anaconda+Pycharm+Pytorch虚拟环境创建,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-10-10
可用于监控 mysql Master Slave 状态的python代码
用于监控MySQL Master Slave 状态的python代码,有需要的朋友可以参考下2013-02-02


最新评论