Python基础异常处理梳理总结
什么是异常
异常是在程序运行过程中发生错误时,Python会抛出一个异常对象。如果在代码中没有对这些异常进行处理,程序就会中断,这样会给用户造成糟糕的体验,并且可能会丢失重要的数据。
Python异常处理语法
在Python中,我们可以通过try…except…语句来捕获异常并处理。
语法如下:
try:
可能会抛出异常的代码
except 异常类型 as 异常变量:
处理异常的代码
finally:
无论是否发生异常,都会执行的代码(可选)
在上面的语法中,try部分包含可能会抛出异常的代码块。如果try部分的代码抛出了异常,会在后面的except部分中查找匹配的异常类型。如果匹配,则执行相应的处理代码。如果没有匹配到异常类型,则会将异常继续向上抛出,直到被处理或者导致程序中断。
finally部分是可选的,可以用于在处理异常之后进行资源释放等操作。无论是否发生异常,finally中的代码都会被执行。
Python常见的异常类型
Python有很多内置的异常类型,常见的包括以下几种:
- IOError:文件读写错误
- ValueError:传递参数不正确
- TypeError:类型不匹配
- ZeroDivisionError:除数为零
- IndexError:下标越界
- KeyError:字典中不存在的键
示例1:处理除数为零的异常
下面的代码展示了如何处理除数为零的异常。
try:
result = 10 / 0
except ZeroDivisionError as e:
print("除数不能为零")
在上面的代码中,我们用try…except…语句包含了可能会抛出异常的代码,如果发生了ZeroDivisionError类型的异常,则会执行后面的except部分,输出”除数不能为零”。
示例2:处理文件读写错误的异常
下面的代码展示了如何处理文件读写错误的异常。
try:
with open("nonexistent.txt", "r") as f:
content = f.read()
except IOError as e:
print("文件不存在或者无法打开")
在上面的代码中,我们通过with…as…语句打开了一个不存在的文件,如果发生了IOError类型的异常,则会执行后面的except部分,输出”文件不存在或者无法打开”。
结论
对于Python编程来说,异常处理是一个非常重要的话题。使用try…except…语句可以捕获程序中的异常并处理,避免程序崩溃。我们也需要了解常见的异常类型,以便在编写程序时进行预测和处理。