每当您编写较大的代码并构建更复杂的应用程序时,Python 中的异常就会很常见。当人们无法解决这些问题时,它们会变得烦人。
什么时候会出现错误?
- 给出错误的输入
- 模块/库/资源无法访问
- 超出记忆或时间
- 程序员犯的任何语法错误
Python 中的不同异常
异常被定义为程序中中断程序流程并停止代码执行的条件。Python 提供了一种令人惊奇的方法来处理这些异常,使代码运行时不会出现任何错误和中断。
异常可以属于内置错误/异常,也可以属于自定义异常。一些常见的内置异常如下:
- 零除法错误
- 名称错误
- 缩进错误
- IO错误
- 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 |
结论
现在,我们向您介绍了异常处理,希望您清楚异常处理的基本概念。
您可以自己尝试各种例外情况。快乐编码!感谢您的阅读!😇