首页 / 知识
python异常和错误有什么区别
2023-11-12 13:00:00
1.错误
从软件方面来说,错误是语法或是逻辑上的。语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译。这些错误必须在程序执行前纠正。当程序的语法正确后,剩下的就是逻辑错误了。逻辑错误可能是由于不完整或是不合法的输入所致;在其他情况下,还可能是逻辑无法生成,计算,或是输出结果需要的过程无法执行。这些错误通常分别被称为域错误和范围错误。
当Python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常。
2.异常
对异常的最好描述是:它是因为程序出现了错误而在正常控制流以外采取的行为。这个行为又分为两个阶段:首先是引起异常发生的错误,然后是检测(和采取可能的措施)阶段。
第一个阶段是在发生了一个异常条件(有时候也叫做例外的条件)后发生的。只要检测到错误并且意识到异常条件,解释器会引发一个异常。引发也可以叫做触发或者生成,解释器通过它通知当前控制流有错误发生。
Python也允许程序员自己引发异常,无论是Python解释器还是程序员引发的,异常就是错误发生的信号,当前流将被打断,用来处理这个错误并采取相应的操作,这就是第二阶段。
对异常的处理发生在第二阶段。异常引发后,可以调用很多不同的操作,可以是忽略错误(记录错误但不采取任何措施,采取补救措施后终止程序),或是减轻问题的影响后设法继续执行程序。所有的这些操作都代表一种继续,或是控制的分支,关键是程序员在错误发生时可以指示程序如何执行。
类似Python这样支持引发和处理异常(这更重要)的语言,可以让开发人员可以在错误发生时更直接地控制它们。程序员不仅仅有了检测错误的能力,还可以在它们发生时采取更可靠的补救措施。
常见错误:ipython下
1.a:NameError
在没有定义一个变量的时候直接引用
2.ifTrue:SyntaxError
语法错误
3.f=open('1.txt'):IOError
试图打开一个不存在的文件的时候
4.10/0:ZeroDivisionError
5.a=int('dd'):ValueError
进行强制类型转换的时候遇到的错误
try-except:异常处理
try:
try_suite
exceptException[,e]:
exception_block
以上内容为大家介绍了python培训之异常和错误有什么区别,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
python错误类型有哪些
python错误类型有哪些,异常,系统,培训,错误,代码,标准,检测,类型,程序,逻辑,python的错误有语法错误和逻辑错误语法错误程序执行过程中,pythonpython报的错误怎么处理
python报的错误怎么处理,异常,代码,名称,检测,培训,状态,信息,项目,密码,语句,在编写Python代码或开发实际应用的项目时,程序报出异常或错误是python怎样忽略warning警告错误?
python怎样忽略warning警告错误?,培训,情况,代码,错误,模块,下面,之前,以上,程序,更多,python开发中经常遇到报错的情况,但是warning通常并不pythonAttributeError异常的介绍
pythonAttributeError异常的介绍,异常,培训,信息,位置,属性,对象,实例,定义,以上,之后,python中AttributeError异常的介绍1、当你访问一个对python异常处理关键字
python异常处理关键字,异常,代码,数据,名字,信息,系统,电脑,检测,环境,培训,python异常处理关键字本文教程操作环境:windows7系统、Python3.9.python异常在程序的作用
python异常在程序的作用,异常,数据,预期,培训,情况,信息,程序,作用,发生,语句,python异常在程序的作用1、说明ErrorHandling:能够在异常处理语pythonchardet检测编码
pythonchardet检测编码,检测,培训,代码,字段,概率,中文,两者,表示,以上,语言,pythonchardet检测编码1、当我们拿到一个bytes时,就可以对其检测关于.net:使用C#3.0编译的C#2.0代码消
关于.net:使用C#3.0编译的C#2.0代码消耗程序集,关于.net:使用C#3.0编译的C#2.0代码消耗程序集,运行,很好,盒子,有一个,C# 2.0 code consumi关于架构:不同逻辑层上的接口
关于架构:不同逻辑层上的接口,关于架构:不同逻辑层上的接口,业务逻辑,数据访问,应用程序,描述,Interfaces on different logic layers关于错误跟踪:FogBugz与OnTime相比
关于错误跟踪:FogBugz与OnTime相比,关于错误跟踪:FogBugz与OnTime相比,易用性,稳定性,我对,发表意见,FogBugz compared to OnTime有没iPhone Web应用程序,模板,框架?
iPhone Web应用程序,模板,框架?,iPhone Web应用程序,模板,框架?,应用程序,站点,用于,网页,iPhone web applications, templates, framework关于C ++:我无法让调试器停止发生首
关于C ++:我无法让调试器停止发生首次机会异常的中断,关于C ++:我无法让调试器停止发生首次机会异常的中断,设置,调试程序,chance,exc