2. try-except语句

try-except语句

作用

偿试捕获异常,得到异常通知,将程序由异常流程转为正常流程并继续执行。

说明

  1. 至少有一条except子句。
  2. 如果没有匹配到任何错误类型,则程序的异常状态会继续下出,并向上层(调用处)传递。

语法

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) 函数 和 / 运算符引发的错误通知,并能将程序由异常状态转换为正常状态。