python 抛出异常与自定义异常raise

使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。 演示raise用法

?

1 2 3 4 5 6 7 8 try :       s = None       if s is None :           print "s 是空对象"           raise NameError     #如果引发NameError异常,后面的代码将不能执行       print len (s) except TypeError:       print "空对象没有长度"

  

自定义异常 python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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)

 

 

    原文作者:叶_问
    原文地址: https://www.cnblogs.com/hu-yewen/p/6507491.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞