首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文教你读懂 Python 中的异常信息

如果通过调用 greet()引发异常,则会打印一个简单的问候语。 只要提供了正确的输入,此代码就没有任何可能导致异常引发的错误。...AttributeError 当你访问一个对象属性,但是这个属性没有在这个对象定义的时候,就会引发 AttributeError。...' object has no attribute 'b' AttributeError 的错误消息行告诉我们特定对象类型(在本例中为 int)没有访问的属性, 在这个例子中属性为 b。...大多数情况下,引发这个异常表明你正在处理的对象可能不是你期望的类型。...: 'tuple' object has no attribute 'append' 这里尝试给 a_list 对象进行 append 操作但是引发异常, 这里的错误信息说,tuple 对象没有

2.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

【已解决】Python 中 AttributeError: ‘NoneType‘ object has no attribute ‘X‘ 报错

,但该对象没有这个属性或方法。...二、定位报错原因 原因一: 返回None的函数调用 如果一个函数预期应该返回一个对象,但实际上返回了None,然后我们尝试访问这个返回值的属性,就会引发这个错误。...None,没有属性x 原因二:错误的变量初始化 在某些情况下,变量可能没有被正确初始化,或者被错误地设置为None。...错误示例: obj = None print(obj.x) # 引发AttributeError 原因三:异常处理不当 在处理可能抛出异常的代码时,如果没有正确捕获异常,并且在异常发生后尝试访问对象属性...,如果异常被忽略,将引发AttributeError except ValueError as e: print(e) 原因四:错误的类型判断 在类型判断错误的情况下,可能会错误地假设一个None

76320

第七章 Python异常处理

什么是异常? 顾名思义,异常就是程序因为某种原因无法正常工作了,比如缩进错误、缺少软件包、环境错误、连接超时等等都会引发异常。...KeyError 字典里面不存在的键 NameError 变量不存在 IndexError 下标超出序列范围 IOError 输入/输出异常;一般是无法打开文件 AttributeError 对象没有属性...NameError: name 'a' is not defined 会抛出异常,提示名字没有定义。...在开发中往往不知道什么是什么异常类型,这时就可以使用Exception类型来捕捉所有的异常: 例如:打印一个类对象里面没有属性 >>> class A: ...   a = 1 ...   ...7.4 else和finally语句 7.4.1 else语句 表示如果try中的代码没有引发异常,则会执行else。 继续按照上面定义的类举例: >>> try:     ...

54510

python之异常处理

如果try中的语句没有引发异常,则执行else中的语句 finally 无论是否出现异常,都执行的代码 raise 抛出/引发异常 捕捉所有异常: try: ...如果第一个except中定义的异常引发异常匹配,则执行该except中的语句。 如果引发异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。...StopIteration # 迭代器没有更多的值 +-- StopAsyncIteration # 必须通过异步迭代器对象的__anext__()方法引发以停止迭代 +-...+-- AttributeError # 属性引用或赋值失败 +-- BufferError # 无法执行与缓冲区相关的操作时引发 +-- EOFError...# 当input()函数在没有读取任何数据的情况下达到文件结束条件(EOF)时引发 +-- ImportError # 导入模块/对象失败 | +-- ModuleNotFoundError

70130

【Python进阶】Python中的异常处理

(1) AttributeError:试图访问一个对象没有属性,比如foo.y,但是foo没有属性y (2) IOError:输入/输出异常;基本上是无法打开文件 (3) ImportError...:试图访问字典里不存在的键 (7) KeyBoardInterrupt:ctrl+c被按下(在cmd命令下) (8) NameError:使用一个还未被赋予对象的变量 (9) SyntaxError...在上面的介绍中,我们提及了try...except...结构,实际上它是python的异常捕获常用的语法结构,下面我们来详细说明这个语法。...: 执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。...如果第一个except中定义的异常引发异常匹配,则执行该except中的语句。如果引发异常不匹配第一个except,则会搜索第二个except。

1.1K30

Python回顾与整理8:错误和异常

> IOError: [Errno 2] No such file or  directory: 'xpleaf'AttributeError尝试访问未知的对象属性>>> class myClass(object...,如果使用错误原因变量,实际上,这是一个包含来自导致异常的诊断信息的类实例,异常参数自身会组成一个元组,并存储为这个异常类的属性         在这个例子中的分析是,引发了ValueError异常,然后...e就是该异常的一个实例,并且在生成这个实例e的过程中,异常参数('could not convert string to float: foo',)(注意这是一个元组),就会成为e的一个属性,而使用str...再强调: 异常参数是该异常发生时传递给异常处理器的一个字符串对象,它会成为这个异常类的实例的一个属性,并且可以通过调用str()来获得该诊断信息(使用print语句,实际也是调用了该str()方法)...__class__, instance(同上)raise重新触发前一个异常,如果之前没有异常,触发TypeError         对于raise string以及相关的方法,这里就不提及了,因为实际上很少用到

71210

python编程100例_python进阶路线图

异常模块 下面介绍python常用的异常模块 AttributeError异常 AttributeError试图访问一个类中不存在的成员(包括:成员变量、属性和成员方法)而引发异常 AttributeError...file or directory: 'abc.txt' IndexError异常 IndexError异常是访问序列元素时,下标索引超出取值范围所引发异常 IndexError: list index...out of range KeyError异常 KeyError异常是试图访问字典里不存在的键时而引发异常 >>> dict[104] Traceback(most recent call last...", line1, in print(5 / i) TypeError: unsupported operand type(s) for /: 'int' and 'str...' ValueError异常 ValueError异常是由于传入一个无效的参数值而引发异常 >>> i = 'QWE >>> print(5 / int(i)) Traceback(most recent

35330

Python中的内置异常你知道那些,欢迎留言评论~~~

此类负责使用传递的参数使用str()创建异常的字符串表示形式。如果没有参数,则返回一个空字符串。 args: args是提供给异常构造函数的参数的元组。...with_traceback(tb):此方法通常用于异常处理中。此方法将tb设置为该异常的新回溯并返回异常对象。...当属性引用或分配失败(例如,引用了不存在的属性)时,将引发AttributeError。...当解释器检测到超过最大递归深度时,将引发异常异常ReferenceError 当在垃圾回收之后使用弱引用代理访问引用对象属性时,引发ReferenceError。...异常TypeError 当将操作或函数应用于不适当类型的对象时,引发 TypeError。此异常返回一个字符串,其中提供有关类型不匹配的详细信息。

2.9K10

python异常报错详解

对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败 OSError 操作系统错误 WindowsError...如果 str()或者unicode()是在这个类的一个实例上被调用,返回实例的参数表示形式,或者当没有参数时,返回空字符串。 args 给异常构造函数的元组元组。...以下异常是实际引发异常异常AssertionError 当assert声明失败时提起。 异常AttributeError 属性引用(请参阅属性引用)或赋值失败时引发。...异常ReferenceError 当由weakref.proxy()函数创建的弱引用代理在垃圾回收之后用于访问指称对象属性时,引发异常 。有关弱引用的更多信息,请参阅该weakref模块。...这个类的实例有属性filename,lineno, offset并且text为的细节更容易获得。 str() 的异常实例仅返回消息。

4.6K20

python Exception(异常

python 异常是一个对象,表示错误或意外的情况    在python检测到一个错误时,将触发一个异常:        python可以通过异常传导机制传递一个异常对象,发出一个异常情况出现的信号...:由于外部原因而导致的异常的基类;包括:IOError、OSError、WindowsError 标准异常类    AssertionError:断言语句失败    AttributeError...:            #没有出现错误时执行的代码            else_suite        except 分句个数没有限制,但else只能有一个;没有异常发生时,else分句才会执行...:      捕捉任何列出的异常    except (name1, name2), value:   捕捉任何列出的异常,并取得其额外数据    else:                   如果没有引发异常...较有效的方法是从自定义异常类和标准异常类进行多重继承,例如:            class CustomAttributeError(CustomException,AttributeError)

2.1K30

Python面向对象编程-反射

在Python中,反射是一种动态访问和修改对象属性和方法的机制。通过反射,我们可以在运行时获取对象属性和方法,以及修改它们的值。...getattr(obj, name[, default]):获取对象的指定属性或方法,如果属性或方法不存在则返回默认值或引发AttributeError异常。...setattr(obj, name, value):设置对象的指定属性或方法的值。delattr(obj, name):删除对象的指定属性或方法。...接着,我们使用getattr函数获取对象属性和方法,使用字符串参数指定属性和方法的名称。如果属性或方法不存在,则getattr函数会引发AttributeError异常,可以使用默认值参数避免异常。...如果属性或方法不存在,则delattr函数会引发AttributeError异常

49141

Python抛出异常_python抛出异常的作用

在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 AttributeError #试图访问一个对象没有的树形...,比如foo.x,但是foo没有属性x IOError #输入/输出异常;基本上是无法打开文件 ImportError #无法引入模块或包;基本上是路径问题或名称错误...print('异常输出') # Exception 属性可以捕获任意异常,不过它是一把双刃剑,有利有弊,我们要视情况使用 try: abc() except Exception as...sys.exc_info()可以直接定位最终引发异常的原因,结果比较简洁,但是缺点是难以直接确定引发异常的代码位置 """ raise 语法结构: raise [exceptionName [(reason...init__(self): pass def __str__(self): return "这是一个异常说明!"

2.5K70

Python异常

Python异常是一个对象,表示错误或意外情况 Python检测到一个错误时,将触发一个异常 1.Python可以通过异常传道机制传递一个异常对象,发出一个一场情况出现的信号 2.程序员也可以在代码中手动触发异常...分句个数没有限制,但else只能有一个 2.没有异常发生时,else分句才会执行 3.没有符合的except分句时,异常会向上传递到程序的之前进入try中或者到进程的顶层。...由于外部原因而导致的异常的基类 IOError,OSError,WindowsError 标准异常类 AssertionError 断言语句失败 AttributeError 属性引用或赋值失效 FloatintPointError...ValueError应用于某个对象的操作或函数,这个对象具有正确的类型,但确有不适合的值 WindowsError模块OS中的函数引发异常,用来指示与Windows相关的错误 ZeroDivisionError...除数为0 自定义异常类 自定义异常和多重继承 较有效的方法是从自定义异常类和标准异常类进行多重继承,例如 Class CustomAttributeError(CustomEXception,AttributeError

2.4K90

一文搞懂Python异常错误

什么是异常呢,异常就是程序运行时,某一句引发错误导致之后的代码都无法运行,是不是有点丛林大盗的感觉,此山是我开,此树是我栽,哎呀呀~ 在Python无法正常处理程序时就会发生一个异常。...这里的异常Python对象,表示这段代码是这个问题。...,变量没有被定义 AttributeError:'tuple' object has no attribute 'remove' 属性错误,该对象没有这个属性、方法,请检查一下数据类型,例如元组没有...append属性 SystemExit 解释器请求退出,出现在exit()函数后 IOError 输入/输出操作失败 ImportEroor 导入模块/对象失败,检查一下模块是否能够正常使用...此外,与python异常相关的关键字主要有: 关键字 关键字说明 try/except 捕获异常并处理 pass 忽略异常 else 如果try的语句没有引发异常,则执行else的语句 as 定义异常实例

76810

腾讯大佬整理了 Python 所有内置异常,Python高手必备的排错手册

print('1') ^ SyntaxError: invalid syntax 2、TypeError TypeError 是类型错误,也就是说将某个操作或功能应用于不合适类型的对象引发...AttributeError属性错误,当用户试图访问一个对象不存在的属性时会引发,比如列表有 index 方法,而字典却没有,所以对一个字典对象调用该方法就会引发异常 In [25]: dict...[26]: dict_.index('1') --------------------------------------------------------------------------- AttributeError.../list' 9、StopIteration StopIteration 为迭代器错误,当访问至迭代器最后一个值时仍然继续访问,就会引发这种异常,提醒用户迭代器中已经没有值可供访问了 In [30]:...,如果断言语句检测的表达式为假,则会引发这种异常 In [45]: list3 = [1,2] In [46]: assert len(list3)>2 -----------------------

99430

Python基础 | 新手学Python时常见的语法错误和异常

语法错误又称解析错误,是我们在刚接触学习Python 时最容易遇到的错误,区区别于异常而言,语法错误非程序执行时的逻辑错误; 即使语句或表达式在语法上是正确的,但在尝试执行时,它仍可能会引发错误,而这个在执行时检测到的逻辑错误被称为异常...AttributeError:当试图使用一个对象没有属性或方法时 In [8]: dic = {'key1':'var1', ...: 'key2':'var2'} In [9...对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败 OSError 操作系统错误 WindowsError...系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError 序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError...内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象 (没有属性) UnboundLocalError 访问未初始化的本地变量 ReferenceError 弱引用

7K41

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券