![f022d3ca4e332ad1c3c8f7a9f30bb60f.png](https://img-blog.csdnimg.cn/img_convert/f022d3ca4e332ad1c3c8f7a9f30bb60f.png)
Python提供了两个非常重要的功能来处理Python程序中的异常和错误,并在其中添加调试的函数功能 -
- 异常处理 - 在本教程中介绍。这是一个列表标准Python中提供的异常 - 标准异常。
- 断言 - 在Python 3教程中的断言中介绍。
标准异常
以下是Python中可用的标准异常列表 -
![5b60a7f18449d36022a242f8bb194c7d.png](https://img-blog.csdnimg.cn/img_convert/5b60a7f18449d36022a242f8bb194c7d.png)
Python中的断言
断言是一个健全检查,可以在完成对程序的测试后打开或关闭。
- 试想断言的最简单的方法就是将它与一个raise-if语句(或者更准确的说是一个加注if语句)相对应。测试表达式,如果结果为false,则会引发异常。
- 断言由版本1.5引入的assert语句来执行,它是Python的最新关键字。
- 程序员经常在函数开始时放置断言来检查有效的输入,并在函数调用后检查有效的输出。
assert语句
当它遇到一个assert语句时,Python会评估求值它的的表达式,是否为所希望的那样。 如果表达式为false,Python会引发AssertionError异常。
assert的语法是 -
assert Expression[, Arguments]
如果断言失败,Python将使用ArgumentExpression作为AssertionError的参数。 使用try-except语句可以像任何其他异常一样捕获和处理AssertionError异常。 如果没有处理,它们将终止程序并产生回溯。
示例
这里将实现一个功能:将给定的温度从开尔文转换为华氏度。如果是负温度,该功能将退出 -
#!/usr/bin/python3def KelvinToFahrenheit(Temperature): assert (Temperature >= 0),"Colder than absolute zero!" return ((Temperature-273)*1.8)+32print (KelvinToFahrenheit(273))print (int(KelvinToFahrenheit(505.78)))print (KelvinToFahrenheit(-5))
当执行上述代码时,会产生以下结果 -
32.0451Traceback (most recent call last):File "test.py