美文网首页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 语句的任何其他异常一样被捕获和处理,但是如果不处理,这种类型的异常将终止程序。

相关文章

  • 异常引发和断言

    引发异常 您可以使用 raise 语句引发异常。 print(1) raise ValueError print(...

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • Python Debug

    1. 异常: 1.1 抛出异常 使用raise关键字抛出异常 1.2 捕获异常 2. 断言 禁用断言python ...

  • maven tests

    (一)关于断言assert 断言assert与异常exception的区别在于:1、断言用于调试代码2、异常用于捕...

  • 第7章 异常处理

    7.1 程序的异常处理 7.1.1 异常处理的基本使用 7.1.2 异常处理的高级使用 7.2 断言 断言 ass...

  • python unittest.TestCase 断言方法

    1、最常见断言方法 2、T与异常、错误、警告和日志相关的断言方法 3、用于完成某种特定检查的断言方法 4、针对特定...

  • Swift3.0 对异常错误的处理

    在OC中,单元测试时我们会使用断言,断言中条件满足时会产生异常,并打印出相应的断言错误。而在Swift对异常的处理...

  • java 异常 断言

    异常机制使用技巧 异常处理不能代替简单的测试 不要过分化的细分异常 不要压制异常 在检测错误时,苛刻要比放任好;在...

  • Swift中的异常处理

    1、错误和异常处理2、断言3、fatalError 1、错误和异常处理 在方法后面加throws关键字表示这个方法...

  • [接口测试_B] 03 Pytest断言处理_assert和异常

    Pytest的断言方式及应用场景 使用assert语句 断言预期的异常 断言预期的告警 利用上下文信息进行断言 自...

网友评论

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

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