python异常和错误有什么区别

来源:千锋教育
发布时间:2023-11-10 13:55:49
分享

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相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python新手必看之文本文件的输入输出 Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读写功能。文本文件的读写主要通过open()所构建的文件对象来实现。创建文件对象我们打开一个文件,并使用一个对象来表示该文件:
  • python详解python中单引号,双引号,多引号区别 先说1双引号与3个双引号的区别,python双引号所表示的字符串通常要写成一行如:s1="hello,world"如果要写成多行,那么就要使用\(“连行符”)吧,如s2="hello,\world"s
  • pythonPython代码的书写规范 python代码的书写规范1.一致性的建议打破一条既定规则的两个好理由当应用这个规则将导致代码可读性下降,即使对于某人来说他已经习惯于按照这条规则来阅读代码了为了和周围的代码保持一致而打破规则(也许是
  • python新式类和旧式类区别 python的新式类是2.2版本引进来的,我们可以将之前的类叫做经典类或者旧式类。为什么要在2.2中引进newstyleclass呢?官方给的解释是:为了统一类(class)和类型(type)。在2.
  • python如何理解Python中整型对象存储的位置? 在Python整型对象所存储的位置是不同的,有一些是预先分配内存的,它一直存储在内存里面,而其它的,则在使用时开辟出空间.说这句话的理由,可以看看如下代码:a=5b=5aisb#Truea=500b=
  • python新手如何系统学习 我们可把学习python分为4个阶段,每个阶段需要完善的掌握知识点,python最初是作为管理linux系统而出生的,python的环境部署最好在linux上面,目前linux的系统的流行,也需要我们