Python 异常处理和断言

try:

  可能出现异常的代码

except 异常类型:

  捕获到异常之后的处理方案

finally:

  不管try里有没有异常它都会执行

try:
    # try下面写有可能会出现异常的代码
    score = int(input("请输入成绩:"))
    # 因为input获取的都是字符串,int()是强制转换成int类型,英文字符等是无法转换成int类型的字都会报错
except Exception:
    # 处理异常之后的处理,
    print("用输入的数据不符合规范,默认给0分")
    score = 0
else:
    # 代码没有出现异常,执行else中的代码
    print("代码没有出现异常,执行else")
finally:
    # 不管代码有没有出现异常都会去执行的代码
    print("finally不管代码有没有出现异常都会去执行的代码")
    print("分数录入为:{}".format(score))

主动抛出异常语法格式:raise 异常类型(异常信息)

try:
    # try 有可能发生异常的代码
    a = 1111
    print(b)
except NameError as msg:
    print(msg)
    raise msg  # 捕获后运行不会报错,再抛出就会看到异常
else:  # try里面的代码都是正常执行,没有发生任何异常,就会执行这里
    print("程序运行正常!")
finally:
    print("不管有没有异常,我都会被执行!")

assert 表达式,提示信息  (也可以没有提示信息)

# assert:断言
res1 = {'code': 1, 'msg': '登陆成功'}
res2 = {'code': 0, 'msg': '登陆失败'}

# 加一个断言,判断结果是否如预期,如果与预期不一致,会报出断言异常并打印提示信息
assert res1 == res2, '该用例不通过!'

 

posted @ 2021-06-22 17:48  Gex  阅读(127)  评论(0编辑  收藏  举报