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类,本节我们测试和列出常见的一些异常,方便初学者学习

  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和异常结构的正确处理方式

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

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

仙女都在看点点点,赞和在看都在这儿!

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

  1. vb.net 同时给多个属性赋值_Python尚学堂高淇|1721时间表示unix时间点毫秒微秒time模块浮点数自动转换强制转换增强赋值运算符...

    017浮点数-自动转换-强制转换-增强赋值运算符浮点数称为float用a*b^10形式表示的科学计数法,比如:3.14,314E-2或者314e-2这些数字在内存当中也是按照科学计数法存储. > ...

  2. python释放变量内存_Python尚学堂高淇|1113引用的本质栈内存,堆内存,内存的示意图,标识符,变量的声明初始化,垃圾回收机制...

    011-引用的本质-栈内存和堆内存-内存的示意图在Python当中,变量也成为:对象的引用,因为,变量的存储就是对象的地址变量通过地址引用了对象变量位于堆内存(压栈,出栈等细节,后续再介绍)对象位于: ...

  3. python 递归函数_Python尚学堂高淇|P82P86面向对象和面向过程的区别LEGB规则nonlocal_global递归函数阶乘计算案例...

    P82-递归函数-阶乘计算案例 #使用递归函数计算阶乘def factorial(n):if n==1:return 1else:return n*factorial(n-1)result=facto ...

  4. continue语句只用于循环语句中_Python尚学堂高淇|P60P63break语句,else语句使用,循环代码的优化...

    P60 -break语句 break语句用于while和for循环用来结束整个循环,当有嵌套循环的时候,brea语句只能够跳出最近一层的循环 continue语句用于结束本次循环,继续下一次的,多个循 ...

  5. python expect模块_PYTHON基础语法全面总结

    YOU CAN DRINK ALL YOU LIKE, BUT IN THE MORNING YOU GET HEADACHE WITH THE SAME PROBLEMS. PYTHON基础语法总结 ...

  6. python expect模块_Python基础教程:用Python怎么telnet到网络设备

    Python基础教程:用Python怎么telnet到网络设备 0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但 ...

  7. 【133天】尚学堂高淇Java300集视频精华笔记(71-72)

    第71集:常用类/file类/打印目录树状结构/递归算法 课堂代码 package com.test071;import java.io.File;public class Test071 {publ ...

  8. 【138天】尚学堂高淇Java300集视频精华笔记(84)

    第84集:太阳系模型/基本类的封装/Star类的建立 本集知识点 将对象尽可能的抽象,可以有效减少代码量,比如此例中的Star类 package com.test084_087_solar;impor ...

  9. 【135天】尚学堂高淇Java300集视频精华笔记(74-76)

    第74-75集:异常机制.trycatchfinallyreturn执行顺序.捕获异常.声明异常throw.方法重写中异常的处理.手动抛出异常 异常的处理办法一:捕获异常 try try语句指定了一段 ...

最新文章

  1. CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset
  2. VMware15虚拟机安装教程
  3. 特征选择(feature_selection)
  4. 20款响应式的 HTML5 网页模板【免费下载】
  5. 2020-10-27(补码10000000为什么可以表示-128?)
  6. 背景虚化_一分钟学会背景虚化,掌握3个关键就能拍出好照片
  7. poj2826 An Easy Problem?!(计算几何)
  8. 讓combobox也綁定數據表
  9. Jenkins配置MSBuild时使用环境变量
  10. c语言函数返回数组_C语言如何用一维数组拷贝函数,拷贝二位数组(C Primer Plus 10-7)...
  11. 十五种小游戏代码(有0积分下载的哦)
  12. 菜鸟电子面单ISV云打印组件一致性改造心得
  13. xml 解析库 msxml6.dll
  14. 前端用JS + SVG 实现关系图谱 流程图
  15. django 数据库配置
  16. java gbk编码_JAVA中文字符串编码--GBK转UTF-8
  17. java this 逸出_Java并发编程——this逸出解决方法的思考
  18. C语言中数据的表现形式及其运算
  19. 为什么要将数据序列化?
  20. Web scraper使用教程-基本用法

热门文章

  1. vim 高亮显示php代码
  2. 黄聪:php中utf-8模板获取GB2312编码页面传递URL中文编码转换方法
  3. SQL SERVER 2005 T_SQL新的特性以及解决并发
  4. SpringMvc+Tomcat+Angular4 部署运行
  5. linux mysql失败_linux下登陆mysql失败
  6. python你是否也走进了这个误区了_Python是不是被严重高估了?
  7. [转载] python学习笔记2--操作符,数据类型和内置功能
  8. Java BigInteger类| 带实例的splitAndRemainder()方法
  9. 2020知道python语言应用答案_2020知到Python语言应用答案章节期末答案
  10. covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践