python入门050:认识异常

liftword1个月前 (03-19)技术文章6

一、认识异常

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信息。


相关文章

[oeasy]python073_下划线在python里是什么含义_内部变量私有变量

导入import回忆上次内容上次直接从模块中导入变量、函数from my_file import pi导入my_file.pi并作为 pi 使用from my_file import pi as my...

python 中 r、b、u、f 的含义

r/R:非转义的原始字符串与普通字符相比,其他相对特殊的字符,其中可能包含转义字符。即,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示 Tab 等。而如果是以 r...

// 在 Python 中是什么意思?Python 中的运算符

在 Python 中,使用双斜杠运算符执行下层除法。此运算符将第一个数字除以第二个数字,并将结果向下舍入为最接近的整数(或整数)。////在本文中,我将向您展示如何使用运算符并将其与常规除法进行比较,...

Python基础学习笔记之运算符

许多人对于编程学习中的数学能力都存在或多或少的误解,虽然每一种编程语言都包含了处理数字和进行数学计算的方法,但是并不像一些人想象得那么难,相反还十分简单,毕竟不是一定要数学天才才能学得好编程。本文为大...

python中的int是什么意思

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。python...

python里sep是什么意思

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