Python程序设计任务驱动式教程-7.3带异常判断和处理的计算器 异常处理_第1页
Python程序设计任务驱动式教程-7.3带异常判断和处理的计算器 异常处理_第2页
Python程序设计任务驱动式教程-7.3带异常判断和处理的计算器 异常处理_第3页
Python程序设计任务驱动式教程-7.3带异常判断和处理的计算器 异常处理_第4页
Python程序设计任务驱动式教程-7.3带异常判断和处理的计算器 异常处理_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文件内容加密——文件操作“三步走”批量修改文件的扩展名——目录操作带异常判断和处理的计算器——异常处理实例

将一批文件按后缀名分类存入不同文件夹内容提要进行简单的加减乘除运算,能够处理运算中出现的异常情况,比如除数为0的异常。【任务描述】获取用户输入的表达式,然后计算表达式的值,如果表达式不合法,提示错误信息。【任务分析】构建一个自定义函数,在函数内部调用eval()函数,eval()函数用来执行一个字符串表达式,并返回表达式的值。然后给eval()函数的执行添加异常处理语句。输出异常出现时候的处理语句。【任务实施】defcalculate():#获取用户输入的表达式expression=input("请输入算式:")try:

#计算表达式的值

result=eval(expression)

print("结果为:",result)except:

#如果表达式不合法,提示错误信息

print("表达式不合法,请重新输入!")if__name__=="__main__":

calculate()代码实现:请输入算式:9/0表达式不合法,请重新输入!运行结果:【任务相关知识链接】异常是一个事件,会在程序执行过程中发生,并影响程序的正常执行。为处理Python程序在运行中出现的异常和错误,Python提供了异常处理机制和断言机制。Python中的异常常用异常处理语句Python中的异常是指程序中的例外,是违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程将发生改变,程序转移到异常处理代码。Python中有许多已经定义的标准异常。Python中的异常1.try/except语句python提供了try/except语句来捕捉异常。try/except语句可以检测出try语句块中的错误,并让except语句捕获这些异常信息并进行处理。如果不捕获这些异常,程序将被非正常结束。常用异常处理语句异常捕获try-except-else的语法格式如下:try:<语句>

#可能发生异常的代码except<异常名字>:#捕捉发生的异常,可跟多个异常名字,并用逗号分隔<语句>

#处理异常except<异常名字>as<异常参数>:#捕获发生的异常,并获得附加信息<语句> #处理异常except: #捕获未列出名字的异常<语句>#处理异常else:<语句>#如果没有异常发生常用异常处理语句该程序块的工作机制如下:当遇到try语句时,Python在当前程序的上下文中作标记。接下来的程序执行流程依赖于运行时是否出现异常。如果try后的某条语句运行时发生异常,Python就跳回到try语句开始位置并执行第一个匹配改异常的except子句。异常处理完毕,控制流转向try语句块之后的语句(除非在处理异常时又引发新的异常)如果try后的某条语句执行时发生了异常,但是没有可以匹配的except子句,该异常将被提交到上层的调用函数,或者到程序的最外层(程序将结束,并打印默认的出错信息)。如果try之后的所有语句执行时都没有发生异常,Python将执行else语句后的语句(如果有else),然后控制流转向try语句块之后的语句。常用异常处理语句举例:使用异常处理机制进行文件操作代码实现:try:file=open(r"d:\hello\helloworld.txt","w")file.write("异常处理与捕获!")exceptIOError:print("Error:没有找到文件或读取文件失败")else:print("内容写入文件成功")file.close()常用异常处理语句2.try-finally语句Try-finally子句用于如下场合:不管捕捉到的是什么错误,无论错误是不是发生,这些代码“必须”运行。finally子句通常用于关闭因异常而不能释放的系统资源,如关闭文件、释放锁、返回数据库连接等。举例:finally语句示例代码实现:try:file=open(r"d:\hello\helloworld.txt","r")file.write("writingsomething")finally:file.close()print("清理....关闭文件")常用异常处理语句运行结果:常用异常处理语句3.raise抛出异常Python使用raise来抛出一个异常,基本上与Java中的throws关键字相同。raise语法格式如下:raise[Exception[,args[,traceback]]]语句中,Exception是异常的类型;args参数是一个异常参数值,是可选的,如果不提供,异常的参数是None;最后一个参数是可选的(在实践中很少使用),如果存在,则跟踪异常对象。常用异常处理语句代码实现:try:s=NoneifsisNone:print("s是空对象")#如果引发NameError异常,后面的代码将不能执行raiseNameErrorprint(len(s))exceptNameError:print("空对象没有长度")运行结果:举例:raise语句示例。常用异常处理语句4.assert语句assert语句用于检测某个条件表达式是否为真。assert语句又称断言语句,即assert认为检测的表达式永远为真,if语句中的条件判断都可以使用assert语句检测。assert语法格式如下:assertexception[,arguments]assert表达式[,参数]assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言,有助于更好地了解是哪出了问题。常用异常处理语句举例:assert语句示例。代码实现:defKelvinToFahrenheit(Temperature):temp=0try:assert(Temperature>=0),"Colderthanabsolutezero!"temp=((Temperature-273)*1.8)+32/0except(AssertionError,ZeroDivisionError)asarg:print("出现了问题.....",arg)else:print("一切正常....")re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论