网站首页 > 文章精选 正文
一、认识异常
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信息。
猜你喜欢
- 2025-04-09 Python中的`raise`语句:如何优雅地控制错误
- 2025-04-09 Python 中的“No Module Named”错误修复完整指南
- 2025-04-09 python异常处理的四种方式,不只是try
- 2025-04-09 python初学者系列:奇怪的加法,结果错误
- 2025-04-09 Python异常处理(python异常处理中不会用到的关键字)
- 2025-04-09 python中的IndentationError异常错误解决步骤
- 2025-04-09 详细介绍一下Python中的异常处理机制?
- 2025-04-09 python 列表常见错误提示(python出错)
- 2025-04-09 「Python编程规范」Python中的语法错误
- 2025-04-09 Python 中的异常处理(python 异常处理方法)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)