python使用try函数详解

Written by

in

文章目录
  • 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 子句中的代码会在 try 块未引发任何异常时执行。 try: num = int(“123”) except ValueError: print(“输入的不是有效数字”) else: print(f”转换后的数字是: {num}”)
  • 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: num = int(“abc”) except ValueError: print(“内层捕获到 ValueError”) result = 10 / 0 except ZeroDivisionError: print(“外层捕获到 ZeroDivisionError”)
  • try 块常与 with 语句结合使用,确保资源在使用后自动释放(如文件操作)。 try: with open(“example.txt”, “r”) as file: content = file.read() except FileNotFoundError: print(“文件未找到”)
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: Python Poetry实现高效依赖管理的新手指南 Python中try except语句及实际应用详细解释 Python项目管理的利器Poetry的使用 Python中的异常处理:try except Exception as e解决办法 Python中try用法、内置异常类型与自定义异常类型拓展案例详解 python中poetry安装依赖
  • 目录
    • try 函数的基本语法
    • 捕获特定异常
    • 捕获多个异常
    • 使用 else 子句
    • 使用 finally 子句
    • 捕获所有异常
    • 自定义异常处理
    • 嵌套 try 块
    • 结合 with 语句
    • 总结

    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 子句中的代码会在 try 块未引发任何异常时执行。

    try:
        num = int("123")
    except ValueError:
        print("输入的不是有效数字")
    else:
        print(f"转换后的数字是: {num}")
    

    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:
            num = int("abc")
        except ValueError:
            print("内层捕获到 ValueError")
        result = 10 / 0
    except ZeroDivisionError:
        print("外层捕获到 ZeroDivisionError")
    

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

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

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

    您可能感兴趣的文章:

    • Python Poetry实现高效依赖管理的新手指南
    • Python中try except语句及实际应用详细解释
    • Python项目管理的利器Poetry的使用
    • Python中的异常处理:try except Exception as e解决办法
    • Python中try用法、内置异常类型与自定义异常类型拓展案例详解
    • python中poetry安装依赖

    站内搜索