异常


  • 异常类型: 异常在 Python 中有许多不同的类型,每种类型代表不同的错误或异常情况。例如,ZeroDivisionError 表示除以零错误,ValueError 表示值错误,FileNotFoundError 表示文件未找到等。您可以使用 tryexcept 块来捕获和处理特定类型的异常。

  • try-except 块: 使用 tryexcept 关键字,您可以编写代码块来尝试执行可能引发异常的操作,并在异常发生时执行相应的异常处理代码。

    try:
        # 尝试执行可能引发异常的操作
        result = 10 / 0
    except ZeroDivisionError:
        # 处理除以零异常
        print("除以零错误发生了")
  • 多个 except 块: 您可以使用多个 except 块来处理不同类型的异常。

    try:
        result = int("abc")
    except ValueError:
        print("值错误发生了")
    except ZeroDivisionError:
        print("除以零错误发生了")
  • 通用 except 块: 您可以使用一个通用的 except 块来捕获任何未处理的异常。

    try:
        result = int("abc")
    except Exception as e:
        print(f"发生了异常:{e}")
  • else 块: 可选的 else 块允许您在没有异常发生时执行特定的代码。

    try:
        result = int("42")
    except ValueError:
        print("值错误发生了")
    else:
        print("没有异常发生")
  • finally 块: finally 块中的代码无论是否发生异常都会执行。通常,它用于执行一些清理工作,例如关闭文件或释放资源。

    try:
        file = open("example.txt", "r")
        data = file.read()
    except FileNotFoundError:
        print("文件未找到")
    finally:
        file.close()  # 确保文件被关闭
  • 自定义异常: 您还可以创建自定义异常类,以便更好地描述特定应用程序的错误情况,并在代码中引发这些异常。

    class CustomError(Exception):
        def __init__(self, message):
            super().__init__(message)
    
    try:
        raise CustomError("这是一个自定义异常")
    except CustomError as e:
        print(f"捕获到自定义异常:{e}")

文章作者: Chipfron
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Chipfron !
  目录