📜  Python错误和内置异常

📅  最后修改于: 2020-09-19 13:48:59             🧑  作者: Mango

在本教程中,您将了解Python内置的不同类型的错误和异常。每当Python解释器遇到错误时,就会引发它们。

我们在编写程序时可能会犯某些错误,而在尝试运行该程序时会导致错误。 Python程序一旦遇到未处理的错误,即会终止。这些错误可以大致分为两类:

  1. 语法错误
  2. 逻辑错误(异常)

Python语法错误

由于未遵循语言的正确结构(语法)而导致的错误称为语法错误解析错误

让我们看一个例子:

>>> if a < 3
  File "", line 1
    if a < 3
           ^
SyntaxError: invalid syntax

如示例中所示,箭头指示解析器在哪里遇到语法错误。

我们可以在这里注意到if语句中缺少冒号:

Python逻辑错误(异常)

在运行时(通过语法测试后) 发生的错误称为异常逻辑错误

例如,当我们尝试打开一个不存在的文件(用于读取)( FileNotFoundError ),尝试将数字除以零( ZeroDivisionError )或尝试导入不存在的模块( ImportError )时,它们就会发生。

每当发生这些类型的运行时错误时, Python都会创建一个异常对象。如果处理不当,它将打印出对该错误的回溯以及有关该错误发生原因的一些详细信息。

让我们看看Python如何处理这些错误:

>>> 1 / 0
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "", line 301, in runcode
 File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'

Python内置异常

非法操作会引发异常。当发生相应的错误时, Python中会引发许多内置异常。我们可以使用内置的local() 函数查看所有内置的异常,如下所示:

print(dir(locals()['__builtins__']))

locals()['__builtins__']将返回一个内置异常,函数和属性的模块。 dir允许我们将这些属性作为字符串列出。

以下列出了Python编程中一些常见的内置异常以及导致它们的错误:

如果需要,我们还可以在Python定义自己的异常。要了解有关它们的更多信息,请访问Python用户定义的异常。

我们可以使用tryexceptfinally语句在Python处理这些内置的和用户定义的异常。要了解有关它们的更多信息,请访问Python try,except和finally语句。