c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python中的异常处理技巧

更新时间:2023-10-30

什么是异常处理

在一个程序执行的过程中,如果遇到了一些错误或者异常,程序会退出并且给出错误或异常的提示,这对于用户来说显然是不友好的。为了提高程序的鲁棒性,我们需要使用异常处理技巧来捕获错误或者异常,并且处理它们。Python中提供了多种处理异常的方法。

try-except语句

try-except语句是Python中异常处理的基本语法,它的作用是在try语句块中尝试执行程序代码,如果有异常发生,则跳过try块中剩余的语句,进而进入except语句块来处理异常。下面给出一个简单的例子:

try:
  x = 1 / 0
except ZeroDivisionError:
  print("除数不能为0")

上述代码会抛出一个ZeroDivisionError的异常,由于我们已经使用了except语句块来捕获这个异常,因此程序不会停止执行,而是会输出“除数不能为0”这个提示,然后继续执行下面的代码。

多个异常处理

try-except语句块可以处理多个异常类型,在处理不同类型的异常时,可以使用多个except语句块来处理它们。下面给出一个处理多个异常类型的例子:

try:
  x = int("hello")
except ValueError:
  print("无法将字符串转换成整数")
except TypeError:
  print("类型错误")

上述代码会抛出一个ValueError的异常,因为它试图将一个非数值的字符串转换成整数。在这种情况下,我们使用了except ValueError语句块来处理这个异常,输出“无法将字符串转换成整数”的提示。

finally语句

finally语句会在try语句块和所有except语句块执行完毕后执行,不管是否发生了异常。finally块通常用于释放资源,比如:关闭文件句柄或者释放数据库连接等。下面给出一个finally语句的例子:

try:
  f = open("test.txt")
  f.write("Hello, world!")
except IOError:
  print("文件无法打开或写入")
finally:
  f.close()

上述代码会尝试打开test.txt文件,如果打开和写入文件失败,程序会输出“文件无法打开或写入”的提示。无论是否发生异常,文件句柄总是会在finally块中被释放。