> 技术文档 > python 如何使用try函数_try函数的用法

python 如何使用try函数_try函数的用法


try 函数的基本语法

Python 中的 try 语句用于捕获和处理异常。其基本语法结构如下:

try: # 尝试执行的代码块except ExceptionType: # 发生异常时执行的代码块else: # 未发生异常时执行的代码块finally: # 无论是否发生异常都会执行的代码块

捕获特定异常

可以指定捕获特定类型的异常,例如 ValueErrorIndexError,以便针对不同的异常采取不同的处理措施。

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 / 0except Exception as e: print(f\"发生异常: {e}\")

自定义异常处理

可以通过继承 Exception 类创建自定义异常,并在 try 块中主动抛出异常(raise)。

class CustomError(Exception): passtry: raise CustomError(\"这是一个自定义异常\")except CustomError as e: print(f\"捕获到自定义异常: {e}\")

嵌套 try 块

try 块可以嵌套使用,内层 try 块可以处理更具体的异常,外层 try 块处理更通用的异常。

try: try: num = int(\"abc\") except ValueError: print(\"内层捕获到 ValueError\") result = 10 / 0except ZeroDivisionError: print(\"外层捕获到 ZeroDivisionError\")

结合 with 语句

try 块常与 with 语句结合使用,确保资源在使用后自动释放(如文件操作)。

try: with open(\"example.txt\", \"r\") as file: content = file.read()except FileNotFoundError: print(\"文件未找到\")