异常处理 and 断言

在这里插入图片描述
同时判断两个错
try: #因为无法判断出错在哪一行,
pass
except (error1,error2 ) as e:
pass

try: #抓住所有错误,一般不建议用
pass #可以后面使用,比如说未知错误,找了一圈都没哟,只能全部抓住
except Exception as e: #有好几个错误不能抓住,因为不能运行
pass

try:
pass
except: 当一些正常的时候执行else
pass
else:
print(一切正常)

try:
pass
finally: 当无论有没有错都会执行
pass

异常处理 and 断言_第1张图片
自定义异常的定义
自定义异常的触发

异常的种类:
AttributeError 不存在属性

IoError 输入或输出异常

ImportError 无法引入模块或包。(一般是路径问题或模块名称有误)

IndentationError 语法错误(SyntaxError子类),一般是代码缩进错误

KeyError 字典中不存在关键字

KeyboardInterrupt Ctrl+C被按下

NameError 使用一个未被赋予对象的变量

SyntaxError 语法错误

TypeError 传入对象类型与要求不符

UnboundLocalError 变量作用域的问题(详见:https://docs.python.org/2/faq/programming.html#why-am-i-getting-an-unboundlocalerror-when-the-variable-has-a-value)

断言:assert type(a) is str 若返回结果值为真,则正常执行,若错误,则返回AssertionError

你可能感兴趣的:(python)