在本教程中,我们要了解的尝试和除外的Python。Python有一个称为错误和异常处理的概念。
关键字try和except用于错误和异常处理。
基本上,我们将在Python中发现两种类型的错误。他们是-
语法错误-当Python无法理解程序中的代码行时,会给出此类错误。
异常错误-在程序运行时检测到的错误。例如:-ZeroDivisionError,ValueError等。,
我们无法停止语法错误。但是,我们可以使用try-except判断程序是否遇到异常错误。让我们看看Python中最常见的异常错误。
ZeroDivisionError-当我们尝试将任何数字除以零时发生。
ValueError-当我们将不适当的值传递给函数时,它会升高。
IndexError-当我们尝试访问不可用的索引时。
KeyError-当我们尝试访问字典中不存在的键时。
ImportError-如果我们尝试导入不存在的模块。
IOError-当Python无法打开文件时发生。
KeyboardInterrupt-它在用户按下不需要的键时发生。
Python中有许多异常错误。我们可以使用try-except轻松处理这些问题。首先让我们看看try-except的语法。
# try-except syntax try: # statement # statement # ... except: # statement # statement # ...
Python如何执行try-except块代码?让我们一步一步看。
首先,Python在try块内执行代码。
如果代码中没有任何异常错误,则除了块将不会执行。
如果有任何异常错误的代码出现,然后尝试块将跳过除了块代码将执行**。
如果发生任何异常错误,而除了block无法处理,则将引发相应的异常错误。
一个try块可以有多个except语句。
让我们看一个没有任何异常错误的示例。
# No exception error try: arr = [1, 2, 3, 4, 5] # accesing an item from array with a valid index two = arr[1] print(f"We didn't get any errors {two}") except IndexError: print("The given index is not valid")
输出结果
如果运行上述程序,则将得到以下结果。
We didn't get any errors 2
我们没有收到任何异常错误。因此,将执行try块中的代码。
让我们看一下带有无效索引的相同示例。
# No exception error try: arr = [1, 2, 3, 4, 5] # accesing an item from array with a invalid index six = arr[6] print(f"We didn't get any errors {six}") except IndexError: print("The given index is not valid")
输出结果
如果执行以上代码,则将得到以下结果。
The given index is not valid
我们在try块中得到了IndexError。因此,执行except块中的代码。
让我们看看如果except无法处理异常错误会发生什么。
# No exception error try: arr = [1, 2, 3, 4, 5] # accesing an item from array with a invalid index six = arr[6] print(f"We didn't get any errors {six}") except ValueError: print("The given index is not valid")
输出结果
如果运行上面的代码,那么您将得到以下结果。
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-11-fe3737d0615b> in <module> 3 arr = [1, 2, 3, 4, 5] 4 # accesing an item from array with a invalid index ----> 5 six = arr[6] 6 print(f"We didn't get any errors {six}") 7 except ValueError: IndexError: list index out of range
我们遇到了一个错误。我们在except块中给出了ValueError 。但是,我们得到了除外块无法处理的IndexError。因此,我们遇到了一个错误。在except块中指定异常错误时要小心。
如果您对本教程有任何疑问,请在评论部分中提及。