python入门050:认识异常

liftword4个月前 (03-19)技术文章23

一、认识异常

1、什么是异常

程序在运行过程中,不可避免地会出现一些错误,比如:使用了没有定义的变量;用0作除数等等。

在程序中,我们称这些错误为异常,每当发生错误时,python都会创建一个异常对象。

2、什么是Traceback

Traceback是python异常信息的报告。

在程序运行过程中,一旦出现异常将会导致程序终止,之后的代码不再执行,并显示一个Traceback信息,即一些错误提示信息,其中包含有关异常的报告。

例如:

在上例中,我们首先定义了一个函数 hello,函数的参数是name,在函数体内,使用print语句输出一句话,其中nama是一个没有定义的变量,然后通过hello(‘Kitty’)调用刚才定义的hello函数,运行程序时系统发现异常,会终止程序并显示Traceback错误信息的报告。

3、解读Traceback信息

虽然python的Traceback提示信息看着挺复杂,但是里面有丰富的信息,通过解读Traceback可以帮我们诊断引发异常的原因,并定位到具体哪个文件的哪行代码出现的错误。

Traceback提示信息的阅读顺序由下而上,最下面的信息抛出错误的最外层的位置,越往上代码调用深度越深。
最后一行一般会告诉我们引发了什么类型的异常,以及关于该异常的一些相关信息。前面几行指出引发异常的代码文件路径、行数以及模块或者方法名,在python中点击文件的链接即可定位到错误的位置。

在上例中,最后一行错误消息行显示异常类型是 NameError,意思是名称使用了一个没定义的名称(变量、函数、类)的引用。在本例中,引用的异常名称是nama。

我们点击文件的链接定位到错误的位置,或在代码中搜索错误提示中的名称nama,会发现这是一个拼写错误,我们将它改正成name后,再次运行程序,就会正常输出,如下图所示:

二、动手实践

当除数为零时,python就会抛出ZeroDivisionError异常,试着观察并解读对应的Traceback信息。


相关文章

Python语言简介

使用百度搜索一下“TIOBE”,查询编程语言排行榜,可以看到最常用的5种计算机语言是:其中Python语言排名第3,与第2名的Java语言的份额相差很小。考虑到Java语言最近两年不断下滑,可以推测在...

公有还是私有?一文搞懂奇怪的python变量

很多童靴刚开始接触python变量的时候应该会非常困惑,因为python中的变量实在是太灵活了,而且变量的写法也是很独特,相同的字符,前面或者后面加单下划线或者双下划线都可以组成不同的变量名称。极度灵...

python里sep是什么意思

print()中有两个默认参数sep和end。其中sep函数是设置分隔符,默认为sep=’ ’(空格)例子:相关推荐:《Python视频教程》coffee_cup = ‘coffee’ print(“...

看完这一篇数据仓库干货,终于搞懂什么是hive了

一、Hive定义Hive最早来源于FaceBook ,因为FaceBook网站每天产生海量的结构化日志数据,为了对这些数据进行管理,并且因为机器学习的需求,产生了Hive这们技术,并继续发展成为一个成...