python第三十课--异常(with as操作)
演示with...as...操作
path=r'kaifanglist1.txt'
with open(path,'r',encoding='utf-8') as fr:
print(fr.read())
注意事项: 1).将可能出现异常的代码定义到try语句中(try可以认为是扫描器), 但是它是不具备处理异常的能力 2).一旦try中出现了异常对象(自动、手动),第一个except会尝试去捕获它(捕获器), 如果类型匹配,则捕获成功,对象即被处理,然后会顺势去执行except中的内容(逻辑代码), 如果类型不匹配,则捕获失败,那么程序会继续去匹配下一个捕获器... 3).将一定需要被执行的代码放入到finally语句中,finally的特点:一定会被执行; 例如:关闭文件、关闭数据库连接... 4).with语句(python的语法糖),可以帮助我们自动关闭文件 5).如果try中没有出现异常,那么else语句一定会被执行;反之,不会被执行 6).人为手动去抛出异常对象,使用raise关键字;格式:raise 异常类型(异常信息) 7).如果except后面定义的类型是Exception,那么此捕获器必须定义在最后位置(小的在前,大的在后) 8).except后面可以定义一个元祖对象,同时接受多个异常类型作为其元素,那么它就具有捕获多种异常类型对象的能力 9).except后面不定义任何异常类型,那么其可以认为是Exception的简化版 10).捕获器(except)不具备捕获处理语法错误这样的现象 11).常见的运行时异常类型:TypeError、IndexError、FileNotFoundError... 【注意】异常并没有学完,还有自定义异常类需要在面向对象学习过程中(继承学完)在进行讲解 总结:异常处理就主要学习掌握5个关键字:try、except、finally、else、raise
python第三十课--异常(with as操作)的更多相关文章
- python第三十课--异常(异常对象传递过程)
演示异常对象传递的过程(往上“抛”),并将其解决 def func1(): print('func1...') print(10/0) def func2(): print('func2...') t ...
- python第三十课--异常(raise关键字)
演示: 1.手动抛出异常对象-->raise关键字 2.try-except代码不能解决语法错误 try: print('try...') raise TypeError('类型有误的异常') ...
- python第三十课--异常(异常处理定义格式和常见类型)
演示: 1).异常处理的定义格式: 2).常见的运行时异常类型: try: print(10/0) num=int('132a') except Exception as e: print('出错了. ...
- python第三十课--异常(else讲解)
演示else语句和异常处理机制结合使用 try: print('try...') print(10/0) except: print('except...') else: print('else... ...
- python第三十课--异常(finally讲解)
演示:finally语句的作用 try: fr="" path=r'kaifanglist1.txt' fr=open(path,encoding='utf-8') print(f ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- NeHe OpenGL教程 第三十课:碰撞检测
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- python第三十一课--递归(2.遍历某个路径下面的所有内容)
需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...
- Python进阶(三十五)-Fiddler命令行和HTTP断点调试
Python进阶(三十五)-Fiddler命令行和HTTP断点调试 一. Fiddler内置命令 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的se ...
随机推荐
- c#FTP应用---FileZilla Server
一.下载Filezilla Server 官网网址:https://filezilla-project.org FileZilla Server是目前稍有的免费FTP服务器软件,比起Serv-U F ...
- [基础篇] 玄机网C#培训课程-初级.
课程目录 0x01第一课课前准备vs的选择与安装常用工具/网址 http://msdn.itellyou.cn/vs常用设置 0x02第二课C#的语法样式 编程风格VS的常用功能 俩个注意 ...
- 浅谈Http协议是怎么回事?
老实说关于http协议这个概念,见到最多的还是各类招聘信息.在平时的工作中,除了了解一些请求,响应,请求头这些概念外,对于http协议也没有太多的关心.因为貌似对平时的工作没有什么影响,所以在写这篇关 ...
- C语言关于形参与实参,以及系统堆栈的关系
- CentOs 7.3下ELK日志分析系统搭建
系统环境 为了安装时不出错,建议选择这两者选择一样的版本,本文全部选择5.3版本. System: Centos release 7.3 Java: openjdk version "1.8 ...
- 无框架JavaWeb简单增删改查,纯 jsp小练习
地址 : 纯本人手码 jsp练习>>>>>
- layui的checkbox示例
1.html页面: var isSkipcheckbox = ''; if (appOptions.isSkip != "0") { isSkipcheckbox = 'check ...
- Javascript 随机数函数 学习之一:产生服从均匀分布随机数
大家都知道Math.random是 javascript 中返回伪随机数的函数,但查看 MDN, The Math.random() function returns a floating-point ...
- 开源免费的文档协作系统 onlyoffice平台轻松部署
请移步至此,更详细:http://blog.csdn.net/hotqin888/article/details/79337881 ONLYOFFICE是一个免费的.开源的企业办公套件,用于在线组织团 ...
- 2018-10-27 22:44:33 c language
2018-10-27 22:44:33 c language 标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字.并不是所有的编译器都支持二进制数字,只有一部分编译 ...