#程序出了异常怎么办?
#使用异常处理模块来捕获错误和代码异常,或清理代码
#可以通过程序改变控制流程的事件
#错误处理
#try/except:捕获或恢复异常
#try/finally:执行清理工作,无论是否发生异常
#raise:手动触发异常
#with / as : 实现上下文管理器
#案列
student = {‘name‘: ‘Peter‘, ‘age‘: 20, ‘scores‘: [99, 88, 77]}
try:
name = student[‘name‘]
print(name)
last_score = student[‘scores‘][2]
print(last_score)
except KeyError:
print("键值错误")
except IndexError:
print("索引错误")
else:
print(‘没有异常发生‘)
#############################################################
try:
name = student[‘name‘]
print(name)
last_score = student[‘scores‘][2]
print(last_score)
except (KeyError, IndexError):
print("有问题")
else:
print(‘没有异常发生‘)
###############################################################
try:
name = student[‘name‘]
print(name)
last_score = student[‘scores‘][3]
print(last_score)
x = 5
z = x + y
except Exception as e:
print(e)
print("错误")
else:
print("没有异常")
##############################################################
#raise的使用方法
x = 0
raise NameError("人为")