2. try-except语句
try-except语句
作用
偿试捕获异常,得到异常通知,将程序由异常流程转为正常流程并继续执行。
说明
- 至少有一条except子句。
- 如果没有匹配到任何错误类型,则程序的异常状态会继续下出,并向上层(调用处)传递。
语法
try:
可能引发异常的语句
except 异常类型1 [as 变量1]:
异常处理语句1
except 异常类型2 [as 变量2]:
异常处理语句2
...
except:
异常处理语句other
else:
未发生异常语句
finally:
最终语句
示例
# try-except语句示例
def sharing_apple(apple_count, person_count):
''' 将apple_count 个苹果分给 person_count 个人,并打印结果!'''
try:
person_count = int(person_count) # 可能触发ValueError类型的错误
result = apple_count / person_count # 可能触发ZeroDivisionError和TypeError类型的错误
print('每个人分', result, '个苹果',)
except TypeError:
print('类型错了,苹果数必须是数字')
except ZeroDivisionError:
print('人数为零,不能做除法')
# 调用分苹果函数
try:
# sharing_apple(10, 2)
# sharing_apple('10', 2)
# sharing_apple(10, 0)
sharing_apple(10, '2.5')
print('主模块中程序是正常状态')
except:
print('最上层异常被捕获!')
print("程序正常执行并退出!")
使用try 语句可以接受并处理 int(x) 函数 和 /
运算符引发的错误通知,并能将程序由异常状态转换为正常状态。