首页 > 代码库 > python Exception中的raise、assert
python Exception中的raise、assert
使用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语句检测。
python Exception中的raise、assert
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。