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 块允许程序处理异常(如果有)。