首页 > 编程语言 >【python基础】异常

【python基础】异常

时间:2023-06-26 10:22:24浏览次数:44  
标签:python 程序 代码 基础 except else try 异常

Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生执行错误时,Python都会创建一个异常对象。如果编写了处理该异常的代码,程序将继续执行;如果未对异常进行处理,程序将停止,并显示一个Trackback,其中包含有关异常的报告。

1.try-except代码块

异常是用try-except代码块处理的。try-except代码块让Python执行指定的操作。同时告诉Python发生异常时怎么办。使用了try-except代码块时,即便出现异常,程序也将继续执行:显示编写的友好错误信息,而不是显示一个Trackback.

众所周知,不能将一个数字除以0,但我们假设让Python这样做,会发生什么,编写程序如下所示:

image

我们发现在终端窗口出现了Trackback,并且没有对num的值进行输出。这就是我们前面说的,如果未对异常进行处理,程序将停止,并显示一个Trackback,提示该错误为ZeroDivisionError异常。

当我们认为可能会发生错误时,可编写一个try-except代码块来处理可能引发的异常。

其语法格式:

image

我们将上面的程序通过try-except代码块进行完善,编写程序如下所示:
image

我们这里用一条输出语句代替了异常处理过程,通过输出结果发现,通过try-except代码块,异常情况被处理,程序正常运行,输出了num的数值。

2.else代码块

通过将可能引发错误的代码放在try-except代码块中,可提高程序抵御错误的能力。而else代码块中包含的是try中可能引发错误的代码块被成功执行后应该如何操作的代码块

其语法格式:

image

我们编写个用input函数来进行输入,计算除法结果的程序,编写程序如下所示:

image

当我们正常输入时,10/2的结果是5.0在else代码块中正常输出,else代码块外result+1的计算结果6.0也被正常输出了。

当我们除数输入为0时,引发了ZeroDivisionError,经过异常处理,处理了这个错误,这时因为异常发生了,所以else代码块时不经过的,直接到了else代码块外,因为result的初始值为0,进行运算之后,结果为1。

本次程序举例中用到的是ZeroDivisionError异常,程序中可能发生的异常时多种多样的,我们需要知道在发生异常时的错误名称,把它通过try-except或者try-except-else代码块来处理即可。

标签:python,程序,代码,基础,except,else,try,异常
From: https://www.cnblogs.com/lbprogram/p/17504661.html

相关文章

  • c#基础功能
    usingSystem.Net;internalclassProgram{privatestaticvoidMain(string[]args){//组成字符串varm1=string.Concat(1,2,3,4,121);//判断是否有空格的字符串string.IsNullOrWhiteSpace("");stringi1="ab......
  • Python+mysql+tkinter+matplotlib的可视化学生成绩管理系统课程设计
    使用模块要求:tkinter、numpy、openpyxl、matplotlib、pymysql、re、time;其中matplotlib用于绘制统计图开发工具:pycharm专业版、python3.7、mysql8.0需要咨询、源码、定做、QQ扫码加:https://img-mid.csdnimg.cn/release/static/image/mid/ask/153137086786150.jpg点击此处链接......
  • python map函数
    map函数是python提供的内嵌函数,所以不需要import,可以直接使用作用是,将第一个参数的功能,作用于第二个参数的每一个元素举例:>>>defsquare(x):#计算平方数...returnx**2...>>>map(square,[1,2,3,4,5])#计算列表各个元素的平方[1,4,9,16,25]......
  • Python控制流程盘点及高级用法、神秘技巧大揭秘!
    在这篇文章中我们将全面深入地介绍Python的控制流程,包括条件语句、循环结构和异常处理等关键部分,尤其会将列表解析、生成器、装饰器等高级用法一网打尽。此外,我还将分享一些独特的见解和研究发现,希望能给你带来新的启发。文章的结尾,我们将有一个"OneMoreThing"环节,我会分享......
  • 【Python】【Matplotlib】词云图
    关于从网页获取文本importrequestsfrombs4importBeautifulSoupcode=requests.request("post","url").content.decode("utf-8")soup=BeautifulSoup(code,"lxml")text=soup.findAll("div",attrs={"class":......
  • python数据可视化神器--pyecharts 快速入门
    大家好,我是一名来自广东的邓棋文,目前正在学习Python的开发技能。在开发过程中,数据可视化是一个非常重要的环节,帮助我们理解数据,从而作出正确的决策。今天,我将介绍一个强大的Python数据可视化库——pyecharts。pyecharts是一个用于生成ECharts图表的类库。ECharts是百度开源的一个......
  • 主机端口流量异常分析
    iftop工具https://mp.weixin.qq.com/s/NYsE1Oe8G3IanMw1p9_GUA1、安装工具yum-yinstalliftop2、常用参数-i指定需要检测的网卡,如果有多个网络接口,则需要注意网络接口的选择,如:#iftop-ieth1-B将输出以byte为单位显示网卡流量,默认是bit-n将输出的主机信息都通......
  • python给多个变量赋值
    多重分配1。给多个变量赋值我们可以在同一行同时分配多个变量。例如-a,b=5,4print(a,b)输出:54值按给定的顺序打印。2。给多个变量赋值我们可以将单个值赋给同一行的多个变量。考虑下面的例子。示例-a=b=c="JavaTpoint"print(a)print(b)print(c)输出:Java......
  • python测试开发面试常考题:装饰器
    简介Python装饰器是一个可调用的(函数、方法或类),它获得一个函数对象func_in作为输入,并返回另一函数对象func_out。它用于扩展函数、方法或类的行为。装饰器模式通常用于扩展对象的功能。在日常生活中,这种扩展的例子有:在枪上加一个消音器,使用不同的相机镜头等等。Django框......
  • Python 知识点总结-- join 拼接
    路径拼接   path.join() 和str.join() 区别path.join() join方法是一个不定长参数path.join()是python中的OS模块中的方法,使用前需要导入os 用于将多个路径拼接成一个完整的路径。使用该方法时,需要将需要的拼接的路径以参数的形式传递给该方法importosfull......