Python Try except 函数用示例解释

已发表: 2021-11-22

编程在现代时代执行多项任务中起着至关重要的作用。 无论是研究领域还是商业领域,编程的应用随处可见。 Python 就是这样一种编程语言,它已广泛应用于几乎所有人的日常生活中。 当然,这取决于正在开发和执行的程序。 无论是机器学习、Web 开发、软件开发还是任何教育项目,程序员应用的大多是 Python。

但是,对于任何已设计好的程序,有时可能会出现错误。 这些错误可以是用户定义的,也可以是程序本身的一些默认值。 用 python 编程语言编写的程序也可以在检测到代码中任何形式的错误时终止。 本文将描述python编程中出现的异常以及如何通过使用try和except函数来处理它们。 在python编程中,主要出现两类错误,语法错误和异常。

目录

异常和语法错误

最常见的 Python 错误形式之一是语法错误。 这些也称为解析错误。 解析器使用一个小箭头来指出错误。

另一种形式的错误是python中的异常。 在某些情况下,程序的语法保持不变,但在执行程序时会弹出某些错误。 这些在执行时检测到的错误称为异常。

下面列出了一些异常错误示例:

1.键盘中断:

每当用户输入因键盘上某些不需要的按键而中断时,就会发生这种类型的错误。 该键大部分不是必需的,并且被用户错误地按下。

2. IO错误

有时,有些情况下您无法打开文件,这些例外情况与此类情况相关。

3. 导入错误

每当python程序找不到模块时,就会发生此类异常。

4.EOF错误:

在不读取任何数据的情况下,如果命中文件末尾,则会发生此类异常。

5. 值错误

异常与内置函数相关联。 每当此类函数收到任何错误参数时,就会发生这些异常。

语法错误的发生在于检测到python程序中不正确的语句。 这是一个显示语法错误生成的示例:

>>> 打印(0 / 0))

文件“<stdin>”,第 1 行

打印(0 / 0))

^

SyntaxError:无效的语法

可以观察到上述程序中有一个箭头,它表示解析器检测到错误的位置。 此外,代码中有两个括号,导致语法错误。 因此,出现了语法错误。 您可以删除括号并再次执行代码。

删除括号后运行程序现在将显示“ZeroDivisionError”异常。 这是因为代码的语法是正确的,但仍然存在错误。 这种由正确语法代码导致的错误称为异常。

该程序将产生一行“ZeroDivisionError:整数除法或模除以零”。 这是程序的最后一行,它显示了程序产生了哪些异常。 你可以注意到 python 不仅提到异常错误; 相反,它解释并显示了异常类型。

通过 Try except 子句处理异常

在python中处理异常的概念称为异常处理。 可以编写可以处理某些特定类型异常的程序。 处理异常的示例如下图所示:

上述代码取自https://docs.python.org/3/tutorial/errors.html

在上面的程序中,要求用户输入一个有效的整数作为输入。 但是,用户端出现了中断,而不是一个有效的整数。 每当遇到这种类型的用户中断时,python程序都会引发一种异常,即“KeyboardInterrupt”异常。

python try except 块用于捕获和处理python程序中发生的异常。 try 语句下方的代码作为普通程序执行。 同时,出现在except语句中的程序是程序对任何形式异常的主要响应。

从上面“异常和语法错误”部分讨论的示例中,可以观察到在代码中使用错误的语法时发生了错误。 但是,如果没有处理适当的异常,程序就会终止。 except 子句的主要职责是决定程序在异常情况下应如何响应。

try 和 except 语句用于处理 python 中的错误。 每当python代码中发生错误时,这些语句都用于处理这些错误。 try 和 except 函数有一个单独的代码块。 try 块中的代码有助于检查程序是否存在任何错误。 因此,只要程序没有错误,try 块中的代码就会被执行。 当在前一个代码块中检测到一些错误时,将执行 except 块中的代码。 在 python 编程语言中,有一个特定的语法用于运行 Trial 和 except 语句块。

Python 中 Try except 函数的语法:

尝试:

# 一些代码

除了

# 如果出现错误则执行

# 尝试块

Try 语句的工作

让我们首先了解 try 块的工作原理。 这里有几个步骤将定义 try 块中代码块的工作。

  • 子句“try”首先被执行。 这意味着在 try 和 except 子句之间的代码首先被执行。
  • 检查异常。 因此,如果没有检测到错误或异常,将只执行 try 子句。 同时,except 子句将停止运行。
  • 如果出现异常,程序将跳过 try 子句。 在这种情况下,会有例外条款的运行。
  • 可能存在异常,但异常子句无法处理该异常的情况。 在这种情况下,异常会被转发到块外的 try 语句。 如果即使在那时也没有处理异常,程序将停止执行。
  • 一条 try 语句可以有很多 except 子句(不止一个)。

假设一个python程序遇到不同的异常,那么为了指定不同的handler,python程序中使用了几个except块。 一次,只会执行一个处理程序。 即使在 python 程序中,多个异常也可以用作 except 子句中的括号。

有时一个类可能出现在 except 语句中。

在python中有一个关键字的使用,就是“finally”这个词。 在 try 和 except 块执行之后使用或执行关键字。 因此,每当由于某些异常或某些正常终止而导致 try 子句终止时,在这种情况下都会执行 try 块。

引发异常

检测到异常后,通过引发异常强制异常发生。 这是通过使用“raise”语句来完成的。 raise 语句的重要目标之一是应该引发异常。

总结整个想法的几个要点是:

  • try 子句的执行一直持续到并且除非它遇到第一个异常。
  • 它在 except 块内,程序决定如何响应异常。
  • 可以预期多个异常,然后程序区分如何应对它们。
  • 可以通过使用“raise”语句随时抛出异常。
  • 语句“assert”使程序能够知道某个条件是否满足,如果条件不满足,则抛出所需的异常。
  • else 子句允许程序在“try”子句中没有异常时运行代码。
  • 语句“finally”执行的代码部分应该始终运行而不会遇到任何先前的异常。

结论

文章简要讨论了python程序中可能出现的错误,在某些异常错误的情况下,程序会抛出异常。 为了程序的顺利执行,需要正确处理这些异常。 python中的try和except允许处理程序中的异常。 “try”语句下的代码被执行。 如果代码没有成功执行,则程序将在产生错误的代码行终止,然后“except”的代码将运行。

从世界顶级大学获得软件工程学位。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

try 块允许测试代码块是否存在任何错误。 except 块允许程序处理异常(如果有)。

成为软件开发大师

立即申请利物浦约翰摩尔斯的计算机科学硕士