本文共 1318 字,大约阅读时间需要 4 分钟。
代码不符合解释器或编译器的语法
异常 | 原因 |
---|---|
AttributeError | 属性错误,特性引用和赋值失效时会引发属性错误 |
NameError | 试图访问的变量名不存在 |
SyntaxError | 语法错误,代码形式错误 |
KeyError | 使用的映射中不存在的关键字(键)时引发的关键字错误 |
IndexError | 索引错误,使用的索引不存在,常索引超出序列范围 |
TypeError | 类型错误,内建操作或是函数应用在了错误类型的对象时会引发类型错误 |
ValueError | 值错误,传给对象的参数类型不正确,例如给int()函数传入了字符串类型的参数 |
SyntaxError
IndexError
异常本身是类
help(错误类型)----可查看类型具体分布结构及本质 示例:异常结构
#异常结构都是继承于BaseException 可分为四大类: SystemExit : python退出异常 KeyboardInterrupt : 键盘打断 GeneratorExit : 生成器退出 Exception : 普通异常 #重点查看报错原因,报错的行,以及执行的代码
通过错误回溯可以直接看到这些内容try: # 可能出现错误的代码except: # 捕捉到异常的处理方案
try: print(a)except NameError as e: print(f'捕获异常如下:{e}')#捕获异常如下:name 'a' is not defined
try: #可能出现错误的代码except TabError: #捕捉到异常的处理方案except NameError: #捕捉到异常的处理方案
try: # 可能出现错误的代码except (TabError,NameError): # 捕捉到异常的处理方案
try: # 可能出现错误的代码except Exception: # 捕捉到异常的处理方案
try: # 可能出现错误的代码except Exception as e: # 捕捉到异常的处理方案else: # 没有异常执行elsefinally: # 不管是否出现错误都会执行
转载地址:http://sowsz.baihongyu.com/