python学习(八) 异常
8.1 什么是异常
8.2 按自己的方式出错
如何引发异常,以及创建自己的异常类型。
8.2.1 raise语句
>>> raise Exception
Traceback (most recent call last):
File "<pyshell#130>", line 1, in <module>
raise Exception
Exception
Exception: 所有异常的基类。
AttributeError:属性引用或赋值失败时引发
IOError: 打开不存在的文件(或其他情况)时引发。
IndexError: 使用序列中不存在的索引时引发。
KeyError: 使用映射中不存在的键的时候引发。
NameError: 找不到名字(变量)时引发。
SyntaxError: 代码语法错的时候引发。
TypeError:
ValueError:
ZeroDivisionError: 除数为0引发。
8.2.2 自定义异常类
继承自Exception就可以。
>>> class SomeCustomException(Exception)
8.3 捕获异常
如果想捕获异常,想做一些处理,可以用try/except
try:
x = input('Enter x')
y = input('Enter y')
print((int)x/(int)y)
except ZeroDivisionError:
print('The second umber can not be zero!')
捕获异常后,可以继续抛出异常,用raise
8.4 不止一个except子句
可以捕获多个异常
except XXX:
xxxxx
except YYY:
fafafa
8.5 用一个块捕获两个异常
try:
...
except(XXX, YYY,...)
...
8.6 捕获对象
try:
...
excetpt (ZeroDivisionError, TypeError) as e: // 捕获到异常,然后打印出来
...
8.7 真正的全捕获
捕获所有异常:
except: // 不声明异常类型,捕获所有异常
....
8.8 万事大吉
8.9 最后....
try:
I/O
except NameError:
XXX
else:
XXXX
finally:
XXXX
8.10 异常和函数
8.11 异常之禅
python学习(八) 异常的更多相关文章
- python学习笔记——异常
转自 http://www.cnblogs.com/rubylouvre/archive/2011/06/22/2086644.html Python内建异常体系结构 BaseException +- ...
- Python学习 之 异常
1.python中处理异常的方式 #coding:utf8 filename=raw_input("请输入你要操作的文件") try: f=open(filename) print ...
- Python学习7——异常
编写程序时,通常能够区分正常和异常情况.为了处理这些异常,可在每个可能出现异常的地方都使用上条件语句,但这样大大降低了程序的可读性,那么怎么解决哪?Python提供强大的替代解决方案——异常处理机制. ...
- 从0开始的Python学习016异常
简介 当你的程序不能正常运行的时候,Python会在控制台打印一段提醒,告诉你一个错误,这个错误就是异常. 错误 我在控制台写了一段无效的代码,将print()的括号去掉,在执行这条语句的时候,系统提 ...
- Python学习笔记异常
在程序代码中,可能会有各种错误的情况出现,且产生错误的结果是后面的代码都无法执行,即使是一点无关紧要的错误,如图: 在这样的情况下,我们需要异常处理,对程序代码中的错误抛出异常信息,且不影响后面的代码 ...
- python学习(八)定制类和枚举
`python`定制类主要是实现特定功能,通过在类中定义特定的函数完成特定的功能. class Student(object): def __init__(self, name): self.name ...
- python学习八皇后问题
0 # -*- coding: utf-8 -*- 1 import random #冲突检查,在定义state时,采用state来标志每个皇后的位置,其中索引用来表示横坐标,基对应的值表示纵坐标,例 ...
- Python Tutorial 学习(八)--Errors and Exceptions
Python Tutorial 学习(八)--Errors and Exceptions恢复 Errors and Exceptions 错误与异常 此前,我们还没有开始着眼于错误信息.不过如果你是一 ...
- 孤荷凌寒自学python第八十二天学习爬取图片2
孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...
- 孤荷凌寒自学python第八十一天学习爬取图片1
孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...
随机推荐
- 认证和授权(Authentication和Authorization)
什么是OAuth 如今很多网站的功能都强调彼此间的交互,因此我们需要一种简单,标准的解决方案来安全的完成应用的授权,于是,OAuth应运而生,看看官网对其的定义: An open protocol t ...
- Selenium with Python 003 - 页面元素定位
WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...
- 创建CMD启动环境
我们可以用一个cmd文件,通过doskey命令模拟linux下的alias,指定一些我们习惯的命令名,比如: env.cmd @echo off doskey alias=doskey /macros ...
- 记录下一次错误报http请求500,
1.请求控制层没问题,能请求到,如果缺少参数都会返回提示信息,但是请求参数都对了以后,居然报500,非常不解 找了好久,不知道哪里错了,最后经理提示是不是有可能,mapper.xml出错了,最后,我将 ...
- 图解MySQL 内连接、外连接、左连接、右连接、全连接
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
-- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` ( `pin_yin_` varchar(255) CHARACTER SET gb ...
- request_irq() | 注册中断服务
一.中断注册方法 在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义: int request_irq(unsigned int ...
- js 下获取子元素的方法
笔记核心: firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),比如空格和换行都被当做文本节点. js ...
- Asyphre for Delphi Xe4 Demo Running on iPad!
Asyphre 4.0 . customize bitmap with asvf file. compiled done! check the video!
- grep 常用正则匹配
1.或操作 grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename // 用egrep ...