P119 04:try …except…else结构
try..except…else结构增加了"else快"如果try快当中没有抛出异常,则执行else快,如果try快当中抛出异常,则执行except快,不执行
【实例】try….except…else结构执行测试
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("程序结束!!")
#测试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类,本节我们测试和列出常见的一些异常,方便初学者学习
-
SyntaxError:语法错误
int a=3
int a=3
^
SyntaxError:invalid syntax
-
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和异常结构的正确处理方式
所有的单词应该都能够记住!!
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快,不论是否有异常,总是能够保证资源的正常的释放,极大的简化了工作,,在文件操作,网络通信相关的场合非常适用。
P123 08
trackback模块
【实例】使用traceback模块打印异常信息
#测试trackback
#coding=utf-8import tracebacktry: print("step1") num=1/0except: traceback.print_exc()
#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)
欢迎打赏,么么哒!
●R语言
●句子
●JAVA
●C语言以及算法笔记
●大学生生活图鉴
●JavaScript
●计算机网络原理
●计算机组成原理
●操作系统
●数据库系统概论
●数据结构
●英语
●Linux
●数字图像处理
●云计算与人工智能
●资源
●明星电视剧社会现象娱乐
Python