触发用法Pythonassertraise(触发表达式用法错误运行)「python 触发」

上一次,我们介绍了异常处理的方式:Python中的异常处理try/except在Python中,可以主动触发异常。
可能你会好奇,为什么要主动触发异常?触发异常可以提高代码的健壮性,对于有问题的地方及时发现,收集错误数据。
raise的用法raise的语法如下:raise [Exception [, args [, traceback]]]Exception 是异常的类型(例如,NameError)参数标准异常中任一种(具体异常类型可以看上一篇内容 ),args 是自已提供的异常参数。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
例如:age = 150if age > 130: raise Exception('不科学!')运行上面的代码后,程序会被终止,并触发异常,如下:Traceback (most recent call last): File "test.py", line 3, in <module> raise Exception('不科学!')Exception: 不科学!assert的用法assert(断言)用于判断一个表达式,在表达式条件不成立,即为 false 的时候触发AssertionError异常。
断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。
例如我们的代码只能在某些特定的条件下运行,可以先判断当前条件是否符合。
语法:assert expression[, arguments]使用刚才提到的raise也可以完成assert的功能if not expression: raise AssertionError(arguments)上面两种用法是等价的,采用assert更为简洁。
使用举例:1==2# 很明显,这个表达式的结果未False,但是运行上面的代码不会触发异常,程序会正常执行。
assert 1==2 ,'表达式错误'# 加上assert之后,当表达式为False的时候,会触发异常。
# Traceback (most recent call last):# File "test.py", line 1, in <module># assert 1==2,'表达式错误'# AssertionError:表达式错误
刚开始学习的时候这两个触发异常的方式可能较少使用,但是在阅读源码的时候经常见到。
采用raise和assert可以帮助我们主动控制异常。
小结本次介绍了两种主动触发异常的方式,raise与assert,在阅读源码的时候经常出现,合理的使用可以提高代码的健壮性。
触发用法Pythonassertraise(触发表达式用法错误运行)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息