Python 中的异常:不同类型的异常以及如何在 Python 中处理它们

每当您编写较大的代码并构建更复杂的应用程序时,Python 中的异常就会很常见。当人们无法解决这些问题时,它们会变得烦人。

什么时候会出现错误?

  • 给出错误的输入
  • 模块/库/资源无法访问
  • 超出记忆或时间
  • 程序员犯的任何语法错误

Python 中的不同异常

异常被定义为程序中中断程序流程并停止代码执行的条件Python 提供了一种令人惊奇的方法来处理这些异常,使代码运行时不会出现任何错误和中断。

异常可以属于内置错误/异常,也可以属于自定义异常。一些常见的内置异常如下:

  1. 零除法错误
  2. 名称错误
  3. 缩进错误
  4. IO错误
  5. EOF错误

在 Python 中创建测试异常

让我们看一些示例,了解异常在 Python 解释器中的外观。让我们看看下面给出的代码的输出。

1
2
3
4
a = int(input("Enter numerator: "))
b = int(input("Enter denominator: "))
print("a/b results in : ")
print(a/b)

分子为整数且分母为 0 时的输出如下所示。

Enter numerator: 2
Enter denominator: 0
a/b results in :
Traceback (most recent call last):
  File "C:/Users/Hp/Desktop/test.py", line 4, in <module>
    print(a/b)
ZeroDivisionError: division by zero

使用 Try..Except. 避免异常

为了避免出现错误并停止程序流程,我们使用try- except语句整个代码逻辑都放在 try 块内, except 块处理发生异常/错误的情况。

其语法如下:

try:   
    #block of code    
 
except <Name of Exception>:   
    #block of code   
 
#Rest of the code

处理 Python 中的 ZeroDivisionError 异常

让我们看一下前面提到的在 try-except 块的帮助下显示ZeroDivisionError 的代码。看看下面提到的代码。

1
2
3
4
5
6
try:
    a = int(input("Enter numerator: "))
    b = int(input("Enter denominator: "))
    print(a/b)
except ZeroDivisionError:
    print("Denominator is zero")

对于与之前相同的输入,此代码的输出如下所示。

Enter numerator: 2
Enter denominator: 0
Denominator is zero

结论

现在,我们向您介绍了异常处理,希望您清楚异常处理的基本概念。

您可以自己尝试各种例外情况。快乐编码!感谢您的阅读!😇