Python运行时错误示例?


在本文中,我们将了解一些Python编程语言运行时错误的示例。

运行时错误

  • 程序中的运行时错误是在程序成功编译后发生的错误。

  • 如果Python解释器在语法上正确(没有语法错误),它将运行程序。但是,如果程序遇到运行时错误——在程序解析时未检测到的问题,只有在执行特定行时才会显示出来——它可能会在执行过程中意外退出。当程序由于运行时错误而崩溃时,我们说它崩溃了。

一些Python运行时错误的示例

  • 除以零

  • 对不兼容类型执行操作

  • 使用未定义的标识符

  • 访问不存在的列表元素、字典值或对象属性

  • 尝试访问不存在的文件

让我们通过示例更仔细地研究每一个。

除以零

如果我们将任何数字除以零,我们将得到此错误。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 取一个变量来存储第一个输入数字。

  • 取另一个变量来存储第二个输入数字(这里第二个数字应为0)。

  • 将第一个数字除以第二个数字并打印结果。

示例

如果我们将数字除以零,以下程序将返回运行时错误:

# First Input Number firstNumb = 11 # Second Input Number (Here it is 0) secondNumb = 0 # Dividing the first Number by the second Number print(firstNumb/secondNumb)

输出

执行后,上述程序将生成以下输出:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
print(firstNumb/secondNumb)
ZeroDivisionError: division by zero

因为第二个数字是0,任何数字都不能被0除,所以我们得到一个运行时错误。

对不兼容类型执行操作

当我们对不兼容的数据类型执行加法、乘法等操作时,会发生此错误。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 取一个字符串,并为其赋值一些随机值,并将其存储在一个变量中。

  • 取一个整数,并为其赋值一些随机整数,并将其存储在另一个变量中。

  • 对上述变量执行一些操作,例如加法,然后打印它。

示例

如果我们对不兼容的数据类型执行操作,以下程序将返回运行时错误:

# Input string inputString = "TutorialsPoint" # Input Number inputNumber = 11 # Adding both integer and string values print(inputString + inputNumber)

输出

执行后,上述程序将生成以下输出:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    print(inputString + inputNumber)
TypeError: must be str, not int

我们不能在这里将整数添加到字符串数据类型中,因此我们得到一个类型错误(运行时错误)。

使用未定义的标识符

当我们尝试访问以前未声明的标识符时,会发生此错误。

示例

如果我们使用未定义的标识符,以下程序将返回运行时错误:

# Printing undefined identifier print(tutorialsPoint)

输出

执行后,上述程序将生成以下输出:

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    print(tutorialsPoint)
NameError: name 'tutorialsPoint' is not defined

因为我们没有定义tutorialsPoint标识符,并且通过打印它来访问它,所以会发生运行时错误(名称错误)。

访问不存在的列表元素、字典值或对象属性

当我们尝试访问不存在的列表、字符串、字典元素/索引时,会发生此运行时错误。

当我们尝试使用不存在或过大的索引时,它会抛出一个IndexError

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个列表,并为其赋值一些随机值。

  • 通过给出不存在的索引来访问列表元素并打印它。

示例

以下程序如果我们访问超出范围的元素,将返回索引错误:

# input list inputList =[1, 4, 8, 6, 2] # printing the element at index 10 of an input list # throws an IndexError as the index 10 doesn't exist in the input list print("Element at index 10:", inputList[10])

输出

执行后,上述程序将生成以下输出:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    print("Element at index 10:", inputList[10])
IndexError: list index out of range

列表中有5个元素,我们试图访问第10个索引,该索引不存在,导致索引错误。

尝试访问不存在的文件

如果我们尝试打开不存在的文件,它将抛出一个运行时错误。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个变量来存储文本文件的路径。这是一个固定值。在下面的示例中,必须用您自己系统中的文件路径替换此值。

  • 使用open()函数(打开文件并返回文件对象作为结果)以只读模式打开文本文件,将文件名和模式作为参数传递给它(这里“r”代表只读模式)。

givenFile = open(inputFile,"r")
  • 打印给定文件的值。

示例

如果我们访问不存在的文件,以下程序将返回文件未找到错误:

# input file path inputFile = "tutorialsPoint.txt" # Opening the given file in read-only mode. givenFile = open(inputFile,"r") # Printing value of given File print(givenFile)

输出

执行后,上述程序将生成以下输出:

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    givenFile = open(inputFile,"r")
FileNotFoundError: [Errno 2] No such file or directory: 'tutorialsPoint.txt'

结论

在本文中,我们学习了Python中的运行时错误。我们还使用示例解释了最常见的Python运行时错误。

更新于:2022年10月31日

11K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告