Python基础异常处理梳理总结

  • Post category:Python

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…语句可以捕获程序中的异常并处理,避免程序崩溃。我们也需要了解常见的异常类型,以便在编写程序时进行预测和处理。