assertionerror python_Python异常处理(二十六)

assertionerror python_Python异常处理(二十六)_第1张图片

Python提供了两个非常重要的功能来处理Python程序中的异常和错误,并在其中添加调试的函数功能 -

  • 异常处理 - 在本教程中介绍。这是一个列表标准Python中提供的异常 - 标准异常。
  • 断言 - 在Python 3教程中的断言中介绍。

标准异常

以下是Python中可用的标准异常列表 -

assertionerror python_Python异常处理(二十六)_第2张图片

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

你可能感兴趣的:(assertionerror,python)