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学习(八) 异常的更多相关文章

  1. python学习笔记——异常

    转自 http://www.cnblogs.com/rubylouvre/archive/2011/06/22/2086644.html Python内建异常体系结构 BaseException +- ...

  2. Python学习 之 异常

    1.python中处理异常的方式 #coding:utf8 filename=raw_input("请输入你要操作的文件") try: f=open(filename) print ...

  3. Python学习7——异常

    编写程序时,通常能够区分正常和异常情况.为了处理这些异常,可在每个可能出现异常的地方都使用上条件语句,但这样大大降低了程序的可读性,那么怎么解决哪?Python提供强大的替代解决方案——异常处理机制. ...

  4. 从0开始的Python学习016异常

    简介 当你的程序不能正常运行的时候,Python会在控制台打印一段提醒,告诉你一个错误,这个错误就是异常. 错误 我在控制台写了一段无效的代码,将print()的括号去掉,在执行这条语句的时候,系统提 ...

  5. Python学习笔记异常

    在程序代码中,可能会有各种错误的情况出现,且产生错误的结果是后面的代码都无法执行,即使是一点无关紧要的错误,如图: 在这样的情况下,我们需要异常处理,对程序代码中的错误抛出异常信息,且不影响后面的代码 ...

  6. python学习(八)定制类和枚举

    `python`定制类主要是实现特定功能,通过在类中定义特定的函数完成特定的功能. class Student(object): def __init__(self, name): self.name ...

  7. python学习八皇后问题

    0 # -*- coding: utf-8 -*- 1 import random #冲突检查,在定义state时,采用state来标志每个皇后的位置,其中索引用来表示横坐标,基对应的值表示纵坐标,例 ...

  8. Python Tutorial 学习(八)--Errors and Exceptions

    Python Tutorial 学习(八)--Errors and Exceptions恢复 Errors and Exceptions 错误与异常 此前,我们还没有开始着眼于错误信息.不过如果你是一 ...

  9. 孤荷凌寒自学python第八十二天学习爬取图片2

    孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...

  10. 孤荷凌寒自学python第八十一天学习爬取图片1

    孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...

随机推荐

  1. 认证和授权(Authentication和Authorization)

    什么是OAuth 如今很多网站的功能都强调彼此间的交互,因此我们需要一种简单,标准的解决方案来安全的完成应用的授权,于是,OAuth应运而生,看看官网对其的定义: An open protocol t ...

  2. Selenium with Python 003 - 页面元素定位

    WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...

  3. 创建CMD启动环境

    我们可以用一个cmd文件,通过doskey命令模拟linux下的alias,指定一些我们习惯的命令名,比如: env.cmd @echo off doskey alias=doskey /macros ...

  4. 记录下一次错误报http请求500,

    1.请求控制层没问题,能请求到,如果缺少参数都会返回提示信息,但是请求参数都对了以后,居然报500,非常不解 找了好久,不知道哪里错了,最后经理提示是不是有可能,mapper.xml出错了,最后,我将 ...

  5. 图解MySQL 内连接、外连接、左连接、右连接、全连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  6. Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` ( `pin_yin_` varchar(255) CHARACTER SET gb ...

  7. request_irq() | 注册中断服务

    一.中断注册方法 在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义: int request_irq(unsigned int ...

  8. js 下获取子元素的方法

    笔记核心: firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),比如空格和换行都被当做文本节点. js ...

  9. Asyphre for Delphi Xe4 Demo Running on iPad!

    Asyphre 4.0 . customize bitmap with asvf file.  compiled done!  check the video!

  10. grep 常用正则匹配

    1.或操作 grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename // 用egrep ...