python-异常try-except

python-异常

  1. 概念:在编程中,异常是指在程序执行期间发生的错误或异常情况。当出现异常时,程序会停止正常执行,并尝试查找相应的异常处理机制。

  2. 异常处理:Python提供了一套异常处理机制,让我们能够优雅地处理和响应异常情况。异常处理可以捕获和处理异常,使程序能够继续执行或采取适当的措施。

  3. 异常类型:Python内置了许多常见的异常类型,如:

    • SyntaxError:语法错误,通常是由于错误的语法造成的。
    • TypeError:类型错误,当对不适合的数据类型执行操作时引发。
    • NameError:名称错误,尝试访问未定义的变量或函数时引发。
    • ValueError:值错误,当一个对象具有正确的类型,但包含一个不合适的值时引发。
    • FileNotFoundError:文件未找到错误,尝试打开不存在的文件时引发。
    • 等等。
  4. try-except语句:try-except语句是Python中用于捕获和处理异常的关键字。通过使用try块来执行可能引发异常的代码,并在except块中处理特定类型的异常。

    try:
        # 可能引发异常的代码块
        # ...
    except ExceptionType:
        # 处理特定类型的异常
        # ...
    

    当使用try-except语句时,可以编写以下示例代码来演示异常处理的过程:

try:
    num1 = int(input("请输入一个整数: "))
    num2 = int(input("请输入另一个整数: "))

    result = num1 / num2

    print("结果:", result)

except ValueError:
    print("输入无效!请输入一个有效的整数。")

except ZeroDivisionError:
    print("除数不能为零!请重新输入另一个非零的整数。")

except Exception as e:
    print("发生了一个异常:", e)

finally:
    print("异常处理完成。")

在上面的代码中,我们尝试获取用户输入的两个整数并计算它们的商。然后,我们使用try关键字将可能引发异常的代码放在一个代码块中。如果在执行num1 / num2时出现异常,程序将跳转到相应的except块,根据异常类型执行相应的代码。在这个例子中,我们使用了两个except块来处理可能的ValueError(输入无效)和ZeroDivisionError(除数为零)异常。如果出现其他未处理的异常,我们使用一个通用的except块来捕获并打印异常信息。最后,无论是否发生异常,finally块中的代码都会被执行。

  1. finally子句:除了try-except语句,Python还提供了一个可选的finally子句,用于指定无论是否出现异常都需要执行的代码。

    try:
        # 可能引发异常的代码块
        # ...
    except ExceptionType:
        # 处理特定类型的异常
        # ...
    finally:
        # 无论是否出现异常都会执行的代码块
        # ...
    
  2. 抛出异常:在某些情况下,我们也可以手动抛出异常,使用raise关键字来引发特定类型的异常。

    raise ExceptionType("Error message")
    

你可能感兴趣的:(python,python,开发语言)