else子句
异常处理的主要目的是防止因外部环境的变化导致程序产生无法控制的错误,而不是处理程序的设计错误。因此,将所有的代码都用try语句包含起来的做法是不推荐的,try语句应尽量只包含可能产生异常的代码。Python中try-except语句还可以与else子句联合使用,该子句放在except语句之后,表示当try子句没有出现错误时应执行的代码。其格式如下:
try:
可能出错的语句
......
except:
出错后的执行语句
else:
未出错时的执行语句
例如,某程序的分页显示数据功能可以根据用户输入控制每页显示多少条数据,但要求用户输入的数据为整数类型数据,如果输入的数据符合输入要求,每页显示用户指定的条数;如果输入的数据不不符合要求,则使用默认显示条数,示例如下:
num =input("请输入每页显示多少条数据:") # 用户输入为字符串
try:
page_size = int(num) # 将字符串转化为数字
except Exception as e:
page_size = 20 # 若转化出错,则使用预设的数据量
print(f"当前页显示{page_size}条数据")
else:
print(f"当前页显示{num}条数据") # 加载数据
如果用户输入的数据符合要求,结果如下所示:
请输入每页显示多少条数据:15
当前页显示15条数据
如果用户输入的数据不符合要求,结果如下所示:
请输入每页显示多少条数据:test
当前页显示20条数据
上述示例中,如果用户输入的数据符合要求,输入的数据将被转换为整数类型,并执行else子句中的代码;如果用户输入的数据不符合要求,输入的数据不能正确转换为整数类型,那么程序执行exept子句中的代码。