python expect模块_Python尚学堂高淇|第二季0408P119P123with上常见的异常的解决tryexcept…else结构,…

P119  04:try …except…else结构

try..except…else结构增加了"else快"如果try快当中没有抛出异常,则执行else快,如果try快当中抛出异常,则执行except快,不执行

【实例】try….except…else结构执行测试

3d047d7cfb6d3b94582a7eac391da2c2.png

try:    a=input("请输入被除数:")    b=input("请输入除数:")c=float(a)/float(b)except BaseException as e:print(e)else:    print("除的结果是:",c)

P120   05  try …except…finally的结构

try…except…finally结构当中,finally快无论是否发生异常都会被执行,通常用来释放try快当中申请的资源。

【示例】try….except…finally结构的简单测试

#try....except...finally结构的测试try:    a=input("请输入一个被除数:")    b=input("请输入一个除数;")    c=float(a)/float(b)except BaseException as e:    print(e)else:    print(c)finally:    print("我是finally当中的语句,无论发生异常是否,都执行!!")print("程序结束!!")

6c41228203c20978087945cece37af46.png

#测试finallytry:    f=open("d/a.txt","r")    content=f.readline()    print(content)except:    print("文件没有找到!!")finally:    printf("run in finally ,关闭资源!!")try:        f.close()except BaseException as e:        print(e)print("程序执行结束!!!")

P121 06:

常见的异常的解决:

Python当中的异常都派生来自BaseException类,本节我们测试和列出常见的一些异常,方便初学者学习

  1. SyntaxError:语法错误

    int a=3

    int a=3

    ^

    SyntaxError:invalid syntax

  2. NameError:尝试访问一个没有申明的变量

print(a)

print(a)

NameError:name 'a' is not defined

3.ZeroDivisionError:除数为0的错误(零除错误)

a=3/0

a=3/0

ZeroDivisionError:division by zero

return语句和异常处理的问题:

由于return语句有两种作用:结束方法的运行和返回值,我们一般不把return放到异常处理结构当中,而是放到最后面。

【示例】return和异常结构的正确处理方式

3d61d11e6815ba7a55683f3b23749c16.png

583e7a6ceec29001467fb4ae7306a42c.png

cc9785b29e6e0013e068fb3818cba3a4.png

6344e414c1235c6419270612bf3d19e2.png

a30de6ada23c056203e8336f05d787a4.png

a29b3493cad9956b96a0feb80da3d1f4.png

18eec0867d423b8102df051436e0eb1e.png

44a5cea3d604c32e6a1744a461705d56.png

所有的单词应该都能够记住!!

P122    07
with 上下文管理

finally快由于是否发生异常都会执行,通常我们放释放资源的代码,其余,我们可以通过with上下文管理,更方便的释放资源的操作

#with上下文管理文件的操作#注意:with不是用来取代try...expect..finally结构的,只是用来作为补充#方便我们在进行文件管理,网络通信时候的开发with open("d:/bb.txt") as f:for line in f:        print(line)

with上下文管理的语法结构如下:

with context_expr[as var]:

        语句块

with上下文管理可以自动管理资源,在with代码块执行完毕以后自动还原进入该代码之前的现场或者上下文,不论是何种原因跳出with快,不论是否有异常,总是能够保证资源的正常的释放,极大的简化了工作,,在文件操作,网络通信相关的场合非常适用。

8b161c01eb421e6ada79749609a7d0e0.png

P123 08

trackback模块

【实例】使用traceback模块打印异常信息

2cc10bce37b73ae26b4b2aa6808be187.png

#测试trackback

#coding=utf-8import tracebacktry:    print("step1")    num=1/0except:    traceback.print_exc()

a9c8cfc5d480779bf9ee4f610a482c91.png

#coding=utf-8import tracebacktry:    print("step1")    num=1/0except:    traceback.print_exc()####将异常的信息输出到指定的文件当中try:    print("step1")    num=1/0except:with open("d/a.txt","a") as f:        traceback.print_exc(file=f)

ffe20eb180578198b8b97dd96ed568bd.png

欢迎打赏,么么哒!

ffe20eb180578198b8b97dd96ed568bd.png0a4251e70f4cc2c2f1d480a131ab6429.gif

●R语言

●句子

●JAVA

●C语言以及算法笔记

●大学生生活图鉴

●JavaScript

●计算机网络原理

●计算机组成原理

●操作系统

●数据库系统概论

●数据结构

●英语

●Linux

●数字图像处理

●云计算与人工智能

●资源

●明星电视剧社会现象娱乐

Python

1b75dbcfb6fb897ac5d73e0b333cc636.png91bb8fdf88ae930d909e3211a0240446.png78c995560b904d0c754cc9c69e721afc.pngec82897f3235d00769aa2cc60321d741.gif仙女都在看点点点,赞和在看都在这儿!398478e5c83df64eff77535e2fb41bea.png

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注