python基础知识12-异常
几个命令:
sudo apt install tree
tree 当前目录以树形结构展示出来.
tree a 查看a内的所有目录.也可以跟绝对路径.
a = input('请输入您的密码')
将用户输入保存.
1.异常
异常就是报错.
异常:NameError SyntaxError TypeError
异常本身就是类的实例,最大类是BaseException.
1.SystemExit:Python退出异常.
2.KeyboardInterrupt:键盘打断(Ctrl+C)
3.GeneratorExit:生成器退出
4.Exception:普通异常
错误回溯.跟着解释器输出.执行代码:报错行,报错原因.
2.异常处理
基本的try ... except...
try:
f = open('xxoo.py','r') #当xxoo.py不存在时 会打印
except:
print('发生了异常')
try:
x = 0
y = 1/x
except: #捕获异常.
print('发生了异常') #会打印.
200行代码,如果出错了,在第1行,第100行,第200行代码分别写个print('行数'),查看到多少行出错.
3.捕获具体的异常:
try:
a
except NameError:
print('name出错了')
except ZeroDivisionError: #可以叠加写
print('分母为0错误')
except Exception: #不知道具体的异常,所有代码异常的父类.一般都要加错误类,不要空着.
print('')
raise主动抛出异常
try:
raise TypeError('这是一个类型错误')
except NameError;
print('name出错了')
关于Exception及其子类的解释
代码中会出现的异常都是Exception的子类,因此在except中只需要在最后加上Exception即可.在抛出异常的过程中,会从上到下依次对比异常,找到之后就不会再往后查找.
4.更加丰富的结构
try:
x = 0
except Exception:
print('发生了普通的异常') #不打印
else:
print('没有发生异 常') #代码没错误时候执行,打印
finally:
print('怎么都会执行') #打印
if,while,for 后面可以接else
5.断言跟自定义异常类型
不使用断言:
if not False:
raise Exception('条件不满足')
使用断言:
assert True #不抛出异常
assert False #抛出异常
自定义异常类型:
class MyError(Exception): #Exception类的继承
pass
使用:
def func(name):
if name == 'My':
raise MyError('我错了'*10)
try:
print(func('My')) except MyError:
print('捕获到一只My')
try:
print(func('My')) except Exception as e: #将自定义的异常存在e当中.
print(e) #把自定义的异常打印出来
python基础知识12-异常的更多相关文章
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识部分练习大全
python基础知识部分练习大全 1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py #必须在首行 ...
- python基础知识的学习和理解
参考链接:https://github.com/yanhualei/about_python/tree/master/python_learning/python_base python基础知识笔 ...
- Python 入门之Python基础知识
Python 入门之Python基础知识 1.变量 (1)变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用 (2)变量的作用: 昵称,就是代指内存中某个地址中的内容 a = 123 变量名 ...
- Python基础知识总结笔记(四)函数
Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...
- Python基础知识详解 从入门到精通(七)类与对象
本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
随机推荐
- RobotFrameWork自动化系列:安装配置
1. RobotFrameWork安装配置 1.1. 安装环境 64位win10家庭中文版 网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记. 1.2. 安装说明 由于Rob ...
- NFS与AutoNFS实例
NFS概述: NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文 ...
- 在windows下编译出linux可执行程序
set GOARCH=amd64 set GOOS=linux go build xx.go 会生成一个没有后缀的xx二进制文件 将该文件放入linux系统某个文件夹下 赋予权限 chmod 777 ...
- Excel数据导入SQL Server
基本有2种方案,都是无需安装Office的方案 Ole DB读取 + BulkCopy 获取Excel各个SheetName //连接串 string strConn = "Provider ...
- Javaweb学习笔记2—Tomcat和http协议
今天来讲javaweb的第二个阶段学习. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下 ...
- 第17周翻译:SQL Server中的事务日志管理的阶梯:第5级:在完全恢复模式下管理日志
来源:http://www.sqlservercentral.com/articles/Stairway+Series/73785/ 作者:Tony Davis, 2012/01/27 翻译:刘琼滨. ...
- 备忘录:python 3在class中使用yield
之前代码都是直接在函数级别使用yield,但封装class后如何使用yield很少遇到. 经过半天的学习,总算完成示例.代码没有什么特殊地方,仅仅作为一个工作项. 与生成器合作: ########## ...
- uva1153 Keep the Customer Satisfied
贪心加优先队列 (默认是小的在前,正好) //这里又很套路,设队列里的都是符合条件的考虑新加入的即可.再处理一下空队列的情况.很完美// 截止时间短的在前面,干的就多先根据截止日期排序优先队列根据完成 ...
- postman使用方法详解
postman的使用方法详解 Collections:在Postman中,Collection类似文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里 ...
- libcmt.lb libcmtd.lib与MSVCRTD.lib的冲突解决
system("pause"); 这个函数存在于MSVCRTD.lib库中: 当要使用system("pause")这个函数,且libcmt.lb libcmt ...