Python异常处理知识点总结
在Python的程序运行过程中,如果出现错误,会抛出异常(Exception)。为了保证程序的正常运行,我们需要对异常进行处理。本文将介绍Python中异常处理的知识点,帮助大家更好地理解异常处理的概念和相关方法。
异常处理的语法
在Python中,使用try-except语句进行异常处理。其语法如下:
try:
# 可能会出现异常的代码块
except ExceptionType1:
# 异常类型1的处理方式
except ExceptionType2:
# 异常类型2的处理方式
else:
# 如果没有出现异常,则执行的代码块
finally:
# 最终一定会执行的代码块
在try语句块中,我们执行可能会出现异常的代码。如果出现异常,Python会查找与该异常类型匹配的except语句进行处理,如果找不到匹配的except语句,则会向上抛出异常直到被处理为止。如果没有出现异常,则会执行else语句块中的代码。无论是否出现异常,finally语句块中的代码都会被执行。
异常处理的常用异常类型
Python中的异常类型有很多,下面列举几种常用的异常类型。
IndexError
当运行列表、元组等序列的时候,使用了超出序列范围的下标,就会出现IndexError异常。
my_list = [1, 2, 3]
try:
print(my_list[3])
except IndexError:
print("Index out of range")
KeyError
当在字典中查找一个不存在的键时,会出现KeyError异常。
my_dict = {"name": "Tom", "age": 18}
try:
print(my_dict["gender"])
except KeyError:
print("Key not found")
示例说明
假设我们在一段程序中需要读取一个名为“data.txt”的文件,并将文件中的内容进行处理。如果文件不存在,则会出现FileNotFoundError异常。
try:
with open("data.txt", "r") as f:
for line in f:
print(line.strip())
except FileNotFoundError:
print("File not found")
在上面的代码中,我们使用了with语句来打开文件,这样就可以确保文件被关闭。如果with语句块中出现了异常,则with语句会自动关闭文件。如果没有出现异常,则文件会正常关闭。如果文件不存在,则会抛出FileNotFoundError异常,我们使用except语句捕捉该异常并进行处理。
另外一个示例是计算两个数的商,如果除数为0,则会出现ZeroDivisionError异常。
try:
a = 10
b = 0
c = a / b
except ZeroDivisionError:
print("Cannot divide by zero")
else:
print(c)
在上面的代码中,我们将10除以0得到的结果赋值给变量c,这样就会出现ZeroDivisionError异常。我们使用except语句捕捉该异常并打印出错误信息。在这个示例中,由于出现了异常,else语句块中的代码不会被执行。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python异常处理知识点总结 - Python技术站