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, '该用例不通过!'