D22_3.1_了解异常

[亡魂溺海] 提交于 2019-12-04 04:57:40

#####了解异常#####
# IndexError 索引超出序列的范围
# KeyError 字典中查找一个不存在的关键字
# NameError 尝试访问一个不存在的变量
# IndentationError 缩进错误
# AttributeError 尝试访问未知的对象属性
# StopIteration 迭代器没有更多的值
# AssertionError 断言语句(assert)失败, assert 5>3 #对,不报错;assert 5<2 #错,报错

# ### 异常处理
try:
  code1
except:
  code2

把可能存在问题的代码放到try这个代码块之后,
如果出现异常直接执行except这个代码块里面内容
如果没有异常,就不走except

# 2.带有分支的异常处理
try:
  dic = {"a":1}
  print(dic["b"])

#except后可以跟系统错误类型名,若是这种错误类型,则执行这条语句
except IndexError:
  print("我是IndexError错误类")
except KeyError:
  print("我是KeyError错误类")
except:
  print("有异常错误")

 

# 4.关于异常处理的扩展写法

# try ... finally 如果有报错,报错让你报,不管有没有错finally中的代码块都要执行
# try ... except ... else 如果不报错就走else分支,报错了就不执行else,不执行except, finally 和 else 不能够同时存在
# for/while ... else ... (了解) 如果循环异常终止(break,或者在函数中通过return终止的),不走else分支

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!