使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。 演示raise用法
| 1 2 3 4 5 6 7 8 | try:     s =None     ifs isNone:         print"s 是空对象"         raiseNameError     #如果引发NameError异常,后面的代码将不能执行     printlen(s)exceptTypeError:     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__ importdivisionclassDivisionException(Exception):      def__init__(self, x, y):            Exception.__init__ (self, x, y)       #调用基类的__init__进行初始化            self.x =x            self.y =yif__name__ =="__main__":      try:            x =3            y =2      ifx %y > 0:                               #如果大于0, 则不能被初始化,抛出异常            printx/y            raiseDivisionException(x, y)exceptDivisionException,div:                     #div 表示DivisionException的实例对象      print"DivisionExcetion: x/y = %.2f"%(div.x/div.y) | 
原文:http://www.cnblogs.com/hu-yewen/p/6507491.html