美文网首页python入门
异常引发和断言

异常引发和断言

作者: 朱兰Juran | 来源:发表于2022-05-30 07:51 被阅读0次

    引发异常

    您可以使用 raise 语句引发异常。

    print(1)

    raise ValueError

    print(2)

    结果:

    1

    ValueError

    您需要指定引发的异常的类型。


    引发异常可以提供一些异常的描述。

    例如:

    name = "123"

    raise NameError("Invalid name!")

    结果:

    NameError: Invalid name!


    在 except 块下,raise 语句可以在没有参数的情况下使用来重新引发发生的异常。

    例如:

    try:

      num = 5 / 0

    except:

      print("An error occurred")

      raise

    结果:

    An error occurred

    ZeroDivisionError: division by zero


    断言

    使用 assert 断言是一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要 assert 断言的帮助。

    assert 断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解 assert 断言语句为 raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

    断言是通过使用 assert 语句来执行的。

    print(1)

    assert 2 + 2 == 4

    print(2)

    assert 1 + 1 == 3

    print(3)

    结果:

    1

    2

    AssertionError

    程序员经常在函数的开始处放置断言来检查有效的输入,并且在函数调用之后检查有效的输出。


    如果断言失败,assert 可以接受第二个传递给 AssertionError 的参数。

    temp = -10

    assert (temp >= 0), "Colder than absolute zero!"

    结果:

    AssertionError: Colder than absolute zero!

    AssertionError 异常可以像使用 try-except 语句的任何其他异常一样被捕获和处理,但是如果不处理,这种类型的异常将终止程序。

    相关文章

      网友评论

        本文标题:异常引发和断言

        本文链接:https://www.haomeiwen.com/subject/iaznprtx.html