使用raise抛出异常
当程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。
演示raise用法。
try:
s = None
if s is None:
print "s 是空对象"
raise NameError #如果引发NameError异常,后面的代码将不能执行
print len(s)
except TypeError:
print "空对象没有长度"
自定义异常
python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。
from __future__ import division

class DivisionException(Exception):
def __init__(self, x, y):
Exception.__init__ (self, x, y) #调用基类的__init__进行初始化
self.x = x
self.y = y if __name__ == "__main__":
try:
x = 3
y = 2
if x % y > 0 : #如果大于0, 则不能被初始化,抛出异常
print x/y
raise DivisionException(x, y)
except DivisionException,div: #div 表示DivisionException的实例对象
print "DivisionExcetion: x/y = %.2f" % (div.x/div.y)

运行结果:

1.5
DivisionExcetion: x/y = 1.50

assert语句的使用
assert语句用于检测某个条件表达式是否为真。assert语句又称为断言语句,即assert认为检测的表达式永远为真,if语句中的条件判断都可以使用assert语句检测。

  

最新文章

  1. Asp.Net 数据库连接字符串
  2. MQ安装配置
  3. [BS-11] 关于RGB/ARGB颜色相关知识
  4. ELF学习--装载过程
  5. 【CF】220B Little Elephant and Array
  6. Linux yum命令重装mysql
  7. datagridview的数据源的操作
  8. c# 菜单无限极分类-利用递归
  9. Swift - 使用UIView给页面添加4×4方格
  10. Cstyle的UEFI导读:第20.0篇 IGD OpRegion interface && IGD OpRegion PROTOCOL
  11. Linear Regression with Scikit Learn
  12. 基于MSRDS机器人仿真平台的多机器人PID编队控制算法
  13. SQLserver数据库反编译生成Hibernate实体类和映射文件
  14. 2018.10.2浪在ACM 集训队第二次测试赛
  15. 2.5 SeleniumBuilder辅助定位元素
  16. 7-12 The Rotation Game IDA*
  17. HDUOJ---1213How Many Tables
  18. poj 1995 Raising Modulo Numbers 题解
  19. URL地址传值型多条件搜索JS
  20. 终端工具putty访问vmware centos系统

热门文章

  1. 20165215 学习基础和c语言基础调查
  2. 微信小程序制作家庭记账本之四
  3. JSVC技术
  4. Qt介绍1---QPA(Qt Platform Abstraction)
  5. bootstrapValidator验证表单后清除当次验证的方法
  6. git从安装到使用
  7. cat <<-EOF >&2
  8. XX-net
  9. 【题解】Luogu P2604 [ZJOI2010]网络扩容
  10. Java 中的多线程你只要看这一篇就够了