建设工程公司 网站百度广告投放公司
在Python中,会使用“异常”这个十分特殊的对象来管理程序执行期间发生的错误,即报错。本文将介绍一下python基础的处理异常的方法以及一些基本的异常类型。
异常处理方法
try-except代码块
当我们编写程序时,我们可以编写一个try-except代码块来处理可能引发的异常。比如:
try:print(5/0)
except ZeroDivisionError:print("You divide by zero!")
解释与说明:
- 代码第2行,try关键字后面的语句是可能发生报错(异常)的语句。根据我们的常识,代码中用5÷0,显然在算术上出现了问题。
- 代码第3行,except关键字后面的“ZeroDivisionError”即可能发生的异常类型。ZeroDivisionError异常指的就是由于除数为0而造成的异常。
- 代码第4行,是当异常发生时执行的语句。有这样的语句可以方便的提醒我们我们到底哪里出了错。因为只显示一个ZeroDivisionError过于宽泛。
try-except代码块还可以进行一定的延伸。在except后面增加else代码块,可以让代码正常运行时候的结果输出。
try:print(5/0)
except ZeroDivisionError:print("You divide by zero!")
else:print("it's OK.")
如果我们希望在发生异常的时候什么也不要操作,保持静默,我们可以使用pass关键字。
except ZeroDivisionError:pass
异常类型
ZeroDivisionError异常
ZeroDivisionError异常是出现在算术运算过程中,除数(分母)为0的时候。
例:
print(5/0)
异常信息:
Traceback (most recent call last):File "***********************", line 214, in <module>print(5/0)
ZeroDivisionError: division by zero
FileNotFoundError异常
FileNotFoundError异常是出现在python无法找到一个文件的时候。
例:
with open('Lego.txt') as file_text:contents = file_text.read()
print(contents)
异常信息:
Traceback (most recent call last):File "******************************", line 216, in <module>with open('Lego.txt') as file_text:
FileNotFoundError: [Errno 2] No such file or directory: 'Lego.txt'